Home Filename encoding is wrong in MultipartFormDataInput with RestEasy and Wildfly 11
Reply: 0

Filename encoding is wrong in MultipartFormDataInput with RestEasy and Wildfly 11

user1532
1#
user1532 Published in May 20, 2018, 10:12 am

My upload rest method works fine unless the filename contains a special character:

@POST
@Consumes({ MediaType.MULTIPART_FORM_DATA })
public Response uploadFile(MultipartFormDataInput input) {
    Map<String, List<InputPart>> uploadForm = input.getFormDataMap();
    List<InputPart> inputParts = uploadForm.get("file_upload");

    // Do Stuff...

}

The filename is Test.png, inputPart.getHeaders() = [Content-Disposition=form-data; name="tws_file"; filename="test.png",Content-Type=image/png] --> OK

The filename is Döner.png, inputPart.getHeaders() = [Content-Disposition=form-data; name="tws_file"; filename="d��ner.png",Content-Type=image/png] --> Not OK

As you can see, the "ö" becomes "��".

Things I've tried so far:

  • Setting the default encoding in my jboss_web.xml to <default-encoding>UTF-8</default-encoding> (see here)
  • Changing my @Consumes annotation to @Consumes(MediaType.MULTIPART_FORM_DATA+";charset=UTF-8"); (see here)
  • Changing the encoding in a container request filter with requestContext.setProperty(InputPart.DEFAULT_CHARSET_PROPERTY, "UTF-8"); (see here)

Nothing seems to work. Any ideas ? I am using Wildfly 11 and Resteasy-multipart-provider 3.0.24.Final

You need to login account before you can post.

About| Privacy statement| Terms of Service| Advertising| Contact us| Help| Sitemap|
Processed in 0.301969 second(s) , Gzip On .

© 2016 Powered by mzan.com design MATCHINFO