我在使用Spring RestTemplate上傳文件時出現問題。如果文件包含帶有重音的字符,則原始文件名編碼不正確,無法正確發送。帶有重音的字符將在服務器上顯示一個問號。帶有重音的Spring RestTemplate文件名
如果我使用郵遞員或高級休息客戶端,它的工作原理。使用wireshark進行嗅探時,我可以看到兩種工具對文件名進行不同的編碼。任何人都知道如何使RestTemplate正確處理文件名中的重音符號?
下面是我用來調用我的web服務端點的代碼。
final String fileName = "Sécurité report.pdf";
final LinkedMultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
map.add("file", new ClassPathResource(fileName));
final HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
final HttpEntity<LinkedMultiValueMap<String, Object>> requestEntity = new HttpEntity<>(map, headers);
final RestTemplate restTemplate = new RestTemplate();
final ResponseEntity<String> result = restTemplate.exchange("http://localhost:8080", HttpMethod.POST, requestEntity, String.class);
我試過這個但沒有任何成功。這似乎沒有以任何方式影響文件名。 – Tammeuh