欢迎光临
我们一直在努力

Nginx-配置doc、xls、pdf等文件支持直接下载

刚接到一公司客户发来的QQ信息,说想放些办公文本资料在服务器上面供自己的客户下载,但放上去了,点击下载,直接就在浏览器中把文件打开了,我问他都是些什么后缀的文件想让客户下载的,他告诉我有doc,xls和pdf的文档,我问他还需要支持别的后缀文档在服务器上面下载吗,如果有,一起发给我,我上服务器上面给你配置一下,对方过了会给我发来信息说没有了,就这几个后缀吧。

其实我们的nginx服务端,想让一些后缀如doc,xls,pdf以附件的形式在点击网页上面的下载按钮后,弹出另存为,也就是下载保存的提示窗口的配置非常的简单,只需要在server配置项中加入个if语句,对于doc,xls,pdf这些后缀文件在他们的header头添加Content-Disposition: ‘attachment;’;的信息便可以让文件支持直接下载了,看下面的配置代码;

server {
    listen       80;
    server_name  thinkphp.qzze.com;
    root wwwroot/thinkphp/public;
    index  index.php index.html index.htm;
    #加入这个if语句,判断如果是这几个后缀的文件,则在headers后上添加以下信息,这样用户访问浏览器就可以直接下载了。
    if ($request_filename ~* ^.*?\.(doc|xls|pdf)$){  
	add_header Content-Disposition: 'attachment;';  
    }
    location / {
	    if (!-e $request_filename) {
		    rewrite ^/(.*)$ /index.php?s=/$1 last;
		    break;
	    }
    }
    location ~ \.php {
	    fastcgi_pass   127.0.0.1:9000;
	    fastcgi_index  index.php;
	    fastcgi_split_path_info ^(.+\.php)(.*)$;
	    fastcgi_param PATH_INFO $fastcgi_path_info;
	    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
	    include        fastcgi_params;
    }
}

最后重新加载nginx配置,就支持以上后缀文件的下载了,一定不要忘记重新加载nginx的配置,否则新加的配置参数是不会生效的。

赞(0) 打赏
原创文章转载请注明出处:爱编程 » Nginx-配置doc、xls、pdf等文件支持直接下载
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

爱编程、一个运维兼程序员的博客!

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏