【发布时间】:2020-05-29 03:19:42
【问题描述】:
我有一个接收 MultipartFile 的端点。
Resource upload(@PathVariable Integer id, @RequestParam MultipartFile file) throws IOException {
这个文件通常是.csv,我需要处理每一行并保存数据。
但是最近一个用户发送了一个UTF-16 LE编码的文件,这在数据中添加了很多奇怪的字符。
我希望接收具有任何编码的文件,并始终强制使用我可接受的编码,例如UTF-8,然后再处理文件。
我该怎么做?
【问题讨论】:
-
可以使用自定义 CharacterEncodingFilter Here's a similiar question with an answer
-
@mklepa 也许我误解了另一个问题,但我不想在整个应用程序中添加过滤器。是否可以使用过滤器?
-
@mklepa 不,我使用的是 Spring Boot 1.5.7,我尝试了您向我提出的问题中的两种解决方案,但都没有奏效。
-
这个怎么样? stackoverflow.com/a/48569644/8370004 这样你就强制用户只在这个端点使用某些编码。
-
我会尝试,我尝试使用 spring.http 属性和过滤器,但没有成功。就我而言,我正在接收多部分文件并保存在路线中,骆驼获取文件并处理数据。
标签: java spring-boot encoding character-encoding