nginx 下载文件配置

本文介绍了如何在nginx服务器上配置下载文件,包括防止浏览器自动打开文件、根据URL参数改下载文件名以及大小写不敏感的匹配规则。通过设置Content-Disposition头信息,可以指定文件下载而不是直接打开,并实现文件名的动态更改。同时,提供了不区分大小写的文件类型匹配示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

区分了大小写

不区分大小写把~改成~*

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值