nginx防止瀏覽器自動打開下載的文件


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;
    }

區分了大小寫

不區分大小寫把~改成~*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM