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

关于一个下载的问题

  •  
  •   lenglj · 2023-12-07 17:14:26 +08:00 · 958 次点击
    这是一个创建于 377 天前的主题,其中的信息可能已经有所发展或是发生改变。

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