Nginx

 配置的时候配置文件 要使用/ 目录结尾的时候也要加 /

重启Nginx

./nginx -s reload

先查看进行号:ps -ef|grep nginx

再用kill -9

 

配置文件下载:

#user  nobody;
worker_processes  1;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
 
    #access_log  logs/access.log  main;
 
    sendfile        on;
    #tcp_nopush     on;
 
    #keepalive_timeout  0;
    keepalive_timeout  65;
 
    #gzip  on;
 
     server {
        listen       9082; #端口  
        server_name  localhost;  #服务名
        charset utf-8; # 避免中文乱码
        root  /home/server/filedata; #显示的根索引目录,注意这里要改成你自己的,目录要存在
 
        location / {
             autoindex on;        #开启索引功能    
             autoindex_exact_size off;  # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)    
             autoindex_localtime on;  # 显示本机时间而非 GMT 时间
             if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){
                 add_header Content-Disposition: 'attachment;';
             }
           }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
所有请求9082端口的  以判断的那些文件格式结尾都回去你设置的目录下去查找文件.
****** 注意add_header Content-Disposition: 'attachment;';  中的冒号
注意调试响应头
  • vue Nginx下载 谷歌浏览器 图片直接打开
    • 1.前端package.json增加     "file-saver": "^2.0.2",
      2.下载页面事件
             downloadClick (url) {
              var fileSaver = require('file-saver')
              fileSaver.saveAs(url)      
            }
      3. 增加
      add_header Access-Control-Allow-Origin *;
      add_header Access-Control-Allow-Headers *;
      add_header Access-Control-Allow-Methods "GET, POST, OPTIONS"; 
      示例:
              server {
              listen       8299;
              server_name  localhost;
              location /garbage {
                  add_header Access-Control-Allow-Origin *;
                  add_header Access-Control-Allow-Headers *;
                  add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";  
                  alias  /data/saleserver/professionalfile/garbage;
                  sendfile on;
                  autoindex on;
                  autoindex_exact_size off;
                  autoindex_localtime on;
                  }
              }
      
      

       

  • 解决一个端口 又要查看又要下载的情况

    • //这里用到$request_uri,这个变量是访问的url地址.根据请求来辨别是查看还是下载
      
      server {  
            #监听的端口  
                  listen       80;  
                  server_name  localhost;  
                  location / {  
                      root   html;
                      set $flag 0;
                      
                       if ($request_filename ~* ^.*?.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|jpg|png)$){
                         set $flag 1;
                        
                       }
                      
                       #如果带有view说明是预览
                        if ($request_uri ~* view$){    
                           set $flag 2;
                       }
                       if ($flag = 1){
                          add_header Content-Disposition: attachment;  
                       }
                      index  index.html index.htm;  
                      
                  }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值