我有这样一段上传文件的代码:
ByteArrayResource byteArrayResource = new ByteArrayResource(
multipartFile.getBytes()) {
@Override
public String getFilename() {
return multipartFile.getOriginalFilename();
};
};
到我把文件上传到另外一层去的时候,也是用MultipartFile来接收文件的,但file.getOriginalFilename()中文输出的是???这样的乱码?请问怎么破?ByteArrayResource中文乱那么,怎么破?
问题不是出在 MultipartFile 上,而是出在项目配置上。一般来讲避免乱码只要下面两步:
1、配置 Tomcat 的 URIEncoding 参数,参考
2、鉴于你用了 SpringMVC 框架,建议在 web.xml 中添加 CharacterEncodingFilter,该 Filter 的用法很容易搜到。
只要做到上面两步,并且配置为相同的编码(强烈建议用 UTF-8),就不需要为任何编码问题头疼了。