diff --git a/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java index 4d21315fab2..919407d9f46 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java @@ -244,7 +244,7 @@ public class FormHttpMessageConverter implements HttpMessageConverter map, MediaType contentType) { if (contentType != null) { - return MediaType.MULTIPART_FORM_DATA.equals(contentType); + return MediaType.MULTIPART_FORM_DATA.includes(contentType); } for (String name : map.keySet()) { for (Object value : map.get(name)) { diff --git a/spring-web/src/test/java/org/springframework/http/converter/FormHttpMessageConverterTests.java b/spring-web/src/test/java/org/springframework/http/converter/FormHttpMessageConverterTests.java index b86be01e3aa..66a32ffdd73 100644 --- a/spring-web/src/test/java/org/springframework/http/converter/FormHttpMessageConverterTests.java +++ b/spring-web/src/test/java/org/springframework/http/converter/FormHttpMessageConverterTests.java @@ -69,6 +69,7 @@ public class FormHttpMessageConverterTests { public void canWrite() { assertTrue(converter.canWrite(MultiValueMap.class, new MediaType("application", "x-www-form-urlencoded"))); assertTrue(converter.canWrite(MultiValueMap.class, new MediaType("multipart", "form-data"))); + assertTrue(converter.canWrite(MultiValueMap.class, new MediaType("multipart", "form-data", Charset.forName("UTF-8")))); assertTrue(converter.canWrite(MultiValueMap.class, MediaType.ALL)); } @@ -135,7 +136,7 @@ public class FormHttpMessageConverterTests { MockHttpOutputMessage outputMessage = new MockHttpOutputMessage(); converter.setMultipartCharset(Charset.forName("UTF-8")); - converter.write(parts, MediaType.MULTIPART_FORM_DATA, outputMessage); + converter.write(parts, new MediaType("multipart", "form-data", Charset.forName("UTF-8")), outputMessage); final MediaType contentType = outputMessage.getHeaders().getContentType(); assertNotNull("No boundary found", contentType.getParameter("boundary"));