MultipartFile 上传文件文件名乱码
时间: 2023-08-22 11:10:04 浏览: 81
你可以尝试在文件上传时指定文件名的编码方式,以确保文件名不会乱码。具体来说,你可以使用 `getOriginalFilename()` 方法获取文件的原始文件名,并对其进行解码和重新编码。以下是一个示例代码:
```java
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
// 获取原始文件名
String originalFilename = file.getOriginalFilename();
// 对文件名进行解码和重新编码
try {
originalFilename = new String(originalFilename.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// 其他处理逻辑...
return "File uploaded successfully!";
}
```
这样,你就可以在上传文件时避免文件名乱码的问题了。
相关问题
java 解压MultipartFile 文件后其中文件名乱码
可以尝试使用以下代码解决文件名乱码的问题:
```java
String fileName = new String(multipartFile.getOriginalFilename().getBytes("ISO-8859-1"), "UTF-8");
```
其中,`multipartFile` 是你要解压的文件。
这段代码的作用是将文件名从 ISO-8859-1 编码转换为 UTF-8 编码,从而解决乱码问题。
MultipartFile获取文件名中文乱码
MultipartFile获取文件名中文乱码的问题可以通过以下方法解决:HTTP协议并未给文件上传(即Content-Type为Multipart/form-data格式)提供修改charset为utf-8的功能。因此,使用Multipart/form-data自带的filename无法解决中文乱码问题,必须考虑以参数形式传入中文文件名。