qq_36406259 2021-07-10 01:12 采纳率: 100%
浏览 208
已采纳

javaweb 文件下载 附件名乱码 波浪线(~)显示为(_)

问题描述:chrome浏览器下载附件 附件名字中的字符(~)乱码
IE和火狐附件名正常,chrome版本:版本 91.0.4472.124(正式版本) (64 位)

@Controller
public class FileDown {

@RequestMapping("/down")
public void  downLoad(HttpServletRequest request, HttpServletResponse response) throws IOException {
    String str = "C:\\Users\\34888\\Desktop\\新建文件夹\\1  -= 副本(3).txt";
    File file = new File (str);
    FileInputStream fileInputStream = new FileInputStream (file);
    ServletOutputStream outputStream = response.getOutputStream ();

    String encode = URLEncoder.encode ("锚123-~~~.txt", "UTF-8");
    response.setHeader ("Content-Disposition","attachement; filename="+ encode);

    int read = fileInputStream.read ();
    while(read>-1) {
        outputStream.write (read);
        read = fileInputStream.read ();
    }
}

}

实际下载:

img

img

  • 写回答

7条回答 默认 最新

查看更多回答(6条)

报告相同问题?

问题事件

  • 已采纳回答 7月10日
  • 创建了问题 7月10日

悬赏问题

  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加