关于一个下载的问题

159 天前
 lenglj

springboot 项目我用 easyexcel 在浏览器下载 excel , 设置响应头:response.setHeader("Content-disposition", "attachment;filename=xxx.xlsx"); 浏览器下载的时候标题为“attachment;filename=xxx.xlsx”,多了”attachment;filename=“,直接请求接口没有问题。 我把 attachment;filename=中的 n 改写成大写的 N:attachment;fileName=就没有了,我在想应该跟这个没多大关系,知道啥问题吗?

763 次点击
所在节点    Java
3 条回复
ikas
159 天前
import org.springframework.web.util.UriUtils;

var fileName="XXX 文件.xx"
var fileNameEncoded = UriUtils.encode(fileName, StandardCharsets.UTF_8);
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileNameEncoded);
lenglj
158 天前
@ikas 这个也试了,我是复制了 easyexcel 官网的代码测试的
zsdroid
153 天前
```
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
```
我好几个项目都是这么用的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/998431

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX