Skip to content

Unable to emulate upload filename browser behaviour with RestTemplate [SPR-15538] #20097

@spring-projects-issues

Description

@spring-projects-issues

Paul opened SPR-15538 and commented

Some browsers (i.e. Chrome and Safari) can send multipart uploads with non-ascii symbols in filename like

Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryNyoLBPoS0jG219lU
…omitted…
------WebKitFormBoundaryNyoLBPoS0jG219lU
Content-Disposition: form-data; name="file"; filename="фывафыва.pdf"
Content-Type: application/pdf


------WebKitFormBoundaryNyoLBPoS0jG219lU--

as you can see filename is UTF-8 string. And MultipartFile handles this correctly!
I need to emulate such behaviour with RestTemplate. Best solution I've found is to use custom FormHttpMessageConverter, but it encodes filename into base64. If I override getFilename() method, removing file encoding to base64 then question marks go to server instead of non-ascii symbols.


Issue Links:

Metadata

Metadata

Assignees

Labels

in: webIssues in web modules (web, webmvc, webflux, websocket)type: enhancementA general enhancement

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions