今天做项目,需要下载pdf文件,要显示中文名字,比如:服务协议.pdf
前端页面的请求是:localhost/test/test.pdf?n=服务协议
test.pdf放在nginx上
nginx添加如下配置:
location ~* /test.+\.pdf {
root /var/www/html/ ;
add_header Content-Type “application/pdf; charset=utf-8”;
add_header Cache-Control “no-cache, no-store, max-age=0”;
add_header Content-Disposition “attachment;filename=$arg_n.pdf”;
}
之后再个浏览器上点击下载该文件,都可以正常下载
但是只有chrom能正确显示文件名:“服务协议.pdf”
ie显示乱码、safari显示的为转义后的名字,类似:%BY%E7%8E.pdf这样的
有没有什么geek技巧可以解决这个编码问题呢
(万般无奈,我最后还是走的后端服务读取文件下载)