学堂 学堂 学堂公众号手机端

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

lewis 1年前 (2024-04-11) 阅读数 9 #技术

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

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

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


    版权声明

    本文仅代表作者观点,不代表博信信息网立场。

    热门