V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lenglj
V2EX  ›  Java

关于一个下载的问题

  •  
  •   lenglj · 346 天前 · 931 次点击
    这是一个创建于 346 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    3 条回复    2023-12-13 14:50:06 +08:00
    ikas
        1
    ikas  
       346 天前
    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
        2
    lenglj  
    OP
       345 天前
    @ikas 这个也试了,我是复制了 easyexcel 官网的代码测试的
    zsdroid
        3
    zsdroid  
       340 天前
    ```
    response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    response.setCharacterEncoding("utf-8");
    response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
    ```
    我好几个项目都是这么用的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2978 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:38 · PVG 08:38 · LAX 16:38 · JFK 19:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.