nginx文件强制下载的配置方法

 更新时间:2016年02月29日 21:56:45   投稿:mdxy-dxy  
这篇文章主要介绍了nginx文件强制下载的配置方法,需要的朋友可以参考下

现在的浏览器能够识别很多文件类型(txt,pdf,jpg...),并在浏览器中自动打开

情况一:
添加头信息Content-Disposition "attachment;"会使浏览器强制下载:

复制代码 代码如下:

#表示浏览器内嵌显示一个文件
Content-disposition: inline; filename=foobar.pdf
 
#表示会下载文件,如火狐浏览器中
Content-disposition: attachment; filename=foobar.pdf

nginx配置如下,在相应的server中添加如下location:

复制代码 代码如下:

location /upload {
    add_header Content-Disposition "attachment;";
}

情况二:

有这么一个需求,对于图片文件和pdf等文件链接,只要访问实在某个路径下,不能在浏览器中打开图片,而是提示用户保存到本地,文件名使用访问的文件名。
这个问题主要是IE造成的,不管mime类型是什么,比如人工把图片的mime类型设置为octet-stream,如果浏览器认识文件后缀的话,仍然会在浏览器中打开图片,IE浏览器够垃圾的吧?

解决方案:

在响应的http头添加:Content-Disposition: attachment; filename=文件名
nginx配置如下:

复制代码 代码如下:

        location ~ ^/somepath/(.*)$ {
            add_header Content-Disposition "attachment; filename=$1";
            alias "E:/apache-tomcat-7.0.32/webapps/upload/$1";
        }

这里使用到了正则表达式,捕获请求的文件名。
另外,需要注意nginx的location优先级,首先是=,然后是^~,最后才是~。
这样,IE浏览器就会忽略掉原mime类型,提示用户把文件保存到本地。

相关文章

  • Nginx配置入门教程

    Nginx配置入门教程

    这篇文章主要介绍了Nginx配置入门教程,本文讲解了反向代理的概念、初始配置、进阶配置、负载均衡配置等内容,需要的朋友可以参考下
    2015-02-02
  • Nginx Gunicorn flask项目部署思路分析详解

    Nginx Gunicorn flask项目部署思路分析详解

    这篇文章主要为大家介绍了Nginx Gunicorn flask项目部署思路分析详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 详细nginx多域名配置的方法

    详细nginx多域名配置的方法

    Nginx绑定多个域名,可通过把多个域名规则写一个配置文件里实现,也可通过分别建立多个域名配置文件实现,为了管理方便,建议每个域名建一个文件,有些同类域名则可写在一个总的配置文件里。下面这篇文章就来详细看看nginx多域名配置的方法,有需要的朋友们可以参考。
    2016-12-12
  • Nginx 应用范围和使用详解

    Nginx 应用范围和使用详解

    这篇文章主要介绍了Nginx 应用范围和使用详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • 浅谈Nginx请求限制和访问控制的实现

    浅谈Nginx请求限制和访问控制的实现

    这篇文章主要介绍了浅谈Nginx请求限制和访问控制的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 详解阿里云LINUX服务器配置HTTPS(NGINX)

    详解阿里云LINUX服务器配置HTTPS(NGINX)

    本篇文章主要介绍了阿里云LINUX服务器配置HTTPS(NGINX) ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • nginx增加健康检查接口的实现示例

    nginx增加健康检查接口的实现示例

    Nginx作为一款强大的反向代理服务和负载均衡服务,而健康检查是为了保障nginx能够准确的转发到后端的可用服务,本文主要介绍了nginx增加健康检查接口的实现示例,感兴趣的可以了解一下
    2024-02-02
  • 通过Nginx+Tomcat+Redis实现持久会话

    通过Nginx+Tomcat+Redis实现持久会话

    这篇文章主要介绍了通过Nginx+Tomcat+Redis实现持久会话的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • 基于Nginx的Mencached缓存配置详解

    基于Nginx的Mencached缓存配置详解

    这篇文章主要介绍了基于Nginx的Mencached缓存配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 一句简单命令重启nginx

    一句简单命令重启nginx

    最近我的多个VPS经常出现502错误,经常需要重启nginx,但网上的很多教程都需要繁琐的启动脚本,远不如apache的重启命令那么简单。
    2010-03-03

最新评论