背景
有个需求,需要提供一个下载地址给到前端,这里我们是根据nginx做的文件映射,核心配置如下:
location /download {
root /tmp;
autoindex on; #开启索引功能
autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)
autoindex_localtime on; # 显示本机时间而非 GMT 时
}
这样就能提供一个文件访问路径给到前端比如:http://1.1.1.1:8444/download/XXX.mp4
但是这样前端无法直接下载文件,于是乎需要改造
解决方案
在这个配置下补充
location /download {
root /tmp;
autoindex on; #开启索引功能
autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)
autoindex_localtime on; # 显示本机时间而非 GMT 时
add_header Content-Disposition "attachment;filename*=utf-8'zh_cn'$arg_n";
}
将http头补充上述配置,即可解决问题。这样再次打开视频地址,就是下载格式了,像这样