Skip to content

Commit e51f7ab

Browse files
committed
BAEL-3559: Added purpose-built endpoint for testing multipart uploads with HttpClient.
1 parent 0259c56 commit e51f7ab

2 files changed

Lines changed: 38 additions & 5 deletions

File tree

httpclient/src/test/java/org/baeldung/httpclient/HttpClientMultipartLiveTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class HttpClientMultipartLiveTest {
3434
// No longer available
3535
// private static final String SERVER = "http://echo.200please.com";
3636

37-
private static final String SERVER = "http://posttestserver.com/post.php";
37+
private static final String SERVER = "http://localhost:8080/spring-mvc-java/stub/multipart";
3838
private static final String TEXTFILENAME = "temp.txt";
3939
private static final String IMAGEFILENAME = "image.jpg";
4040
private static final String ZIPFILENAME = "zipFile.zip";
@@ -84,7 +84,7 @@ public final void givenFileandMultipleTextParts_whenUploadwithAddPart_thenNoExce
8484
//
8585
final MultipartEntityBuilder builder = MultipartEntityBuilder.create();
8686
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
87-
builder.addPart("upfile", fileBody);
87+
builder.addPart("file", fileBody);
8888
builder.addPart("text1", stringBody1);
8989
builder.addPart("text2", stringBody2);
9090
final HttpEntity entity = builder.build();
@@ -112,7 +112,7 @@ public final void givenFileandTextPart_whenUploadwithAddBinaryBodyandAddTextBody
112112
final String message = "This is a multipart post";
113113
final MultipartEntityBuilder builder = MultipartEntityBuilder.create();
114114
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
115-
builder.addBinaryBody("upfile", file, ContentType.DEFAULT_BINARY, TEXTFILENAME);
115+
builder.addBinaryBody("file", file, ContentType.DEFAULT_BINARY, TEXTFILENAME);
116116
builder.addTextBody("text", message, ContentType.DEFAULT_BINARY);
117117
final HttpEntity entity = builder.build();
118118
post.setEntity(entity);
@@ -141,7 +141,7 @@ public final void givenFileAndInputStreamandText_whenUploadwithAddBinaryBodyandA
141141
final String message = "This is a multipart post";
142142
final MultipartEntityBuilder builder = MultipartEntityBuilder.create();
143143
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
144-
builder.addBinaryBody("upfile", file, ContentType.DEFAULT_BINARY, IMAGEFILENAME);
144+
builder.addBinaryBody("file", file, ContentType.DEFAULT_BINARY, IMAGEFILENAME);
145145
builder.addBinaryBody("upstream", inputStream, ContentType.create("application/zip"), ZIPFILENAME);
146146
builder.addTextBody("text", message, ContentType.TEXT_PLAIN);
147147
final HttpEntity entity = builder.build();
@@ -165,7 +165,7 @@ public final void givenCharArrayandText_whenUploadwithAddBinaryBodyandAddTextBod
165165
final byte[] bytes = "binary code".getBytes();
166166
final MultipartEntityBuilder builder = MultipartEntityBuilder.create();
167167
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
168-
builder.addBinaryBody("upfile", bytes, ContentType.DEFAULT_BINARY, TEXTFILENAME);
168+
builder.addBinaryBody("file", bytes, ContentType.DEFAULT_BINARY, TEXTFILENAME);
169169
builder.addTextBody("text", message, ContentType.TEXT_PLAIN);
170170
final HttpEntity entity = builder.build();
171171
post.setEntity(entity);
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.baeldung.web.controller;
2+
3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
5+
import org.springframework.http.HttpStatus;
6+
import org.springframework.stereotype.Controller;
7+
import org.springframework.web.bind.annotation.PostMapping;
8+
import org.springframework.web.bind.annotation.ResponseStatus;
9+
import org.springframework.web.multipart.MultipartFile;
10+
11+
@Controller
12+
public class MultipartFileUploadStubController {
13+
14+
private static final Logger logger = LoggerFactory.getLogger(MultipartFileUploadStubController.class);
15+
16+
@PostMapping("/stub/multipart")
17+
@ResponseStatus(HttpStatus.OK)
18+
public void uploadFile(MultipartFile file, String text, String text1, String text2, MultipartFile upstream) {
19+
logger.info("Uploaded file: " + format(file));
20+
logger.info(" - text: [" + format(text) + "]");
21+
logger.info(" - text1: [" + format(text1) + "]");
22+
logger.info(" - text2: [" + format(text2) + "]");
23+
logger.info(" - upstream: [" + format(upstream) + "]");
24+
}
25+
26+
private static String format(MultipartFile file) {
27+
return file == null ? "<null>" : file.getOriginalFilename() + " (size: " + file.getSize() + " bytes)";
28+
}
29+
30+
private static String format(String str) {
31+
return str == null ? "<null>" : str;
32+
}
33+
}

0 commit comments

Comments
 (0)