1.防止瀏覽器自動打開文件而不是下載文件,添加
add_header Content-Disposition "attachment;";
舉例:#所有文件都不打開
location / {
add_header Content-Disposition "attachment;filename*=utf-8'zh_cn'$arg_n";
}
2.一般存儲在服務器上的文件都不會用原來的名字,所以下載的時候需要改名,可通過url中添加參數,然后在nginx中根本參數來改名
舉例 參數為n=xxx.jpg //這里的n不能改成name,會失效
url:https"//xxxxx?n=xxx.jpg //表示把下載下來的文件名字改為xxx.jpg
nginx需要配置成
location / {
if ($request_uri ~* ^.*\?n=([^&]+)$) {
add_header Content-Disposition "filename=$arg_n";
}
}
注釋:里面的utf-8是有些瀏覽器會自動把文件改成urlencode的格式
一般1,2都是要一起配置的
location / {
if ($request_uri ~* ^.*\?n=([^&]+)$) {
add_header Content-Disposition "attachment;filename=$arg_n";
}
}
3.不區分大小寫 i
例如:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|tiff|mkv|mp4|avi|rm|rmvb|flv|wmv)$
{
add_header Content-Disposition "attachment;";
expires 30d;
# access_log off;
}
區分了大小寫
不區分大小寫把~改成~*