Nginx实现文件下载服务配置

需求

1、指定文件目录实现文件下载
html/data目录下存在xxx.csv文件,提供下载
2、支持文件名称作为动态参数
siteid-文件名称,如36868.csv

url:http://localhost:19822/weather/api_weather?siteid=36868

配置

# Nginx 基础配置
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;
    keepalive_timeout  65;
    
    # 主服务器块,监听19822端口
    server {
        listen       19822;
        server_name  localhost;
        
        # 根目录设置为demo文件夹
        root html/data;
        
        # 处理weather/api_weather请求
        location /weather/api_weather {
            # 检查是否存在siteid参数
            if ($arg_siteid = "") {
                return 400 "Missing siteid parameter";  
            }
            
            # 根据siteid参数返回对应的CSV文件
            add_header Content-Type text/csv always;
            add_header Content-Disposition "attachment; filename=$arg_siteid.csv" always;
            alias html/data/$arg_siteid.csv;
        }
        
        # 404处理
        error_page   404              /404.html;
        
        # 500错误处理
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容