springboot下载文件出现乱码怎么解决

avatar
作者
筋斗云
阅读量:4

如果在使用Spring Boot下载文件时出现乱码,可能是由于文件名的编码问题造成的。可以尝试以下方法来解决问题:

  1. 使用Content-Disposition头部指定文件名的编码类型。将文件名进行URL编码,然后使用HttpHeaders设置Content-Disposition头部。
String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20"); headers.add("Content-Disposition", "attachment; filename=\"" + encodedFileName + "\""); 
  1. 设置Content-Type头部为application/octet-stream,并且指定字符编码为UTF-8
headers.add("Content-Type", "application/octet-stream; charset=UTF-8"); 
  1. 如果文件内容本身也可能出现乱码,可以在文件流中指定字符编码。
InputStream inputStream = new FileInputStream(file); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); 

通过这些方法,可以确保文件名和文件内容的编码是正确的,从而避免乱码问题。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!