Nginx 配置下载附件让浏览器提示用户是否保存

测试环境

nginx-1.10.0

问题描述:

前端页面,IE11浏览器下请求下载附件模板,针对xlsx格式文件,点击后会在浏览器中直接打开,并显示乱码。

解决方案:

修改Nginx配置,增加如下带背景色内容(添加http响应头)

add_header Content-Disposition: "attachment;

或者如下

add_header Content-Disposition: "attachment; filename=文件名";

说明:filename为下载的附件设置新的名称。

例:

server {

……(略)

location ~* \.(xlsx)$ {

root /data/dir/;

if ($request_filename ~* /*\.xlsx$){

add_header Content-Disposition: "attachment; filename=$1";

}

}

}

说明:

1、$1 表示正则表达式匹配到的第一个参数值。

2、配置解读

如果请求匹配到 *.xlsx文件(不分大小写),则执行{ }配置块的内容。

如果请求资源文件路径$request_filename 匹配到了*.xlsx文件(不分大小写),则添加http响应头。

实现效果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券