接口下载文件时,如果文件名带有中文,中文部分会乱码 (macbook chrome浏览器)
在网上找了几种方式,大部分都是
response.setHeader("Content-Disposition", StrUtil.format("attachment;filename={}", URLUtil.encode(fileName, charset)));
但加了之后还是乱码。
最后加了这行后 成功了,默认编码是ios8859-1
//防止中文乱码
response.setCharacterEncoding("UTF-8");
另外推荐使用hutool工具类 太方便了 只需要两行代码即可完成文件下载逻辑.ServletUtil是hutool提供的
//防止中文乱码
response.setCharacterEncoding("UTF-8");
ServletUtil.write(response, file);