V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
lenglj
V2EX  ›  Java

关于一个下载的问题

  •  
  •   lenglj · Dec 7, 2023 · 2894 views
    This topic created in 879 days ago, the information mentioned may be changed or developed.

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

    3 replies    2023-12-13 14:50:06 +08:00
    ikas
        1
    ikas  
       Dec 7, 2023
    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
       Dec 8, 2023
    @ikas 这个也试了,我是复制了 easyexcel 官网的代码测试的
    zsdroid
        3
    zsdroid  
       Dec 13, 2023
    ```
    response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    response.setCharacterEncoding("utf-8");
    response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
    ```
    我好几个项目都是这么用的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2528 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:22 · PVG 13:22 · LAX 22:22 · JFK 01:22
    ♥ Do have faith in what you're doing.