nginx强制下载txt等文件

当前的浏览器能够识别文件格式,如果浏览器本身能够解析就会默认打开,如果不能解析就会下载该文件。比如txt文件就直接被解析,还有其他文件也是一样。

那么使用nginx做资源服务器的时候,如何强制下载文件呢?

当前的nginx文件路径配置如下:


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

if ($request_filename ~* ^.*?\.(txt|pdf|doc|xls)$){  add_header Content-Disposition "attachment;";
}

当然,也可以直接加头而不进行判断的:

 add_header Content-Disposition "attachment;";

测试:txt文件可以直接下载,在IE浏览器测试也是没有问题的

不管mime类型是什么,比如人工把图片的mime类型设置为octet-stream,如果浏览器认识文件后缀的话,仍然会在浏览器中打开图片,IE浏览器够垃圾的吧?

解决方案:在响应的http头添加:Content-Disposition: attachment; filename=文件名

add_header Content-Disposition "attachment; filename=$1";

使用到了正则表达式,捕获请求的文件名。

需要注意nginx的location优先级,首先是=,然后是^~,最后才是~。

这样,IE浏览器就会忽略掉原mime类型,提示用户把文件保存到本地。

nginx强制下载txt等文件相关推荐

  1. nginx linux下载文件,linux – 从nginx缓慢下载大型静态文件

    我在vmware-esxi虚拟化中使用debian 7 x64. 每个客户端的最大下载量为1mb / s,Nginx一起使用不超过50mbps,我的问题是什么可能导致传输速度变慢? 服务器 **Set ...

  2. php只显示指定文件类型_php强制下载指定类型的文件

    当需要将文件直接下载时,可以使用如下的函数来实现. 代码: 复制代码 代码示例: function downloadFile($file){ $file_name = $file; $mime = ' ...

  3. Nginx搭建文件服务器以及文件在线预览和强制下载

    文件服务 直接查看server块配置 server {listen 1234;server_name 127.0.0.1;charset utf-8; # 避免中文乱码 location / {roo ...

  4. Nginx配置指定媒体类型文件强制下载

    由于业务需要,在点击显示链接(如www.xxx.com/2015-01-15/xxx.png)显示媒体资源(如图片.视频.音频.文档),而在点击下载链接(如www.xxx.com/2015-01-15 ...

  5. fastdfs+nginx+keepalived+openoffice+lua 实现文件上传、下载、水印、预览(word、excel、ppt、txt),feign文件上传

    前言 最近刚刚实现的文件服务中心,记录一下,为没做过的人提供一下思路,由于本人技术有限,不足之处欢迎批评指正,共同学习,共同进步. 目录 Fastdfs集群搭建 搭建keepalived 实现ngxi ...

  6. Nginx配置文件目录实现pdf文件预览及下载

    默认情况下,通过nginx服务器来访问pdf文件,在浏览器上是会直接打开该pdf文件呈现内容的.如果想要访问pdf文件时,实现下载文件的效果,则需要在nginx服务端做一些配置. 以下配置只能下载 n ...

  7. php帝国下载文件,帝国CMS如何支持弹出下载txt jpg等格式

    功能位置:后台->其他管理->下载模型管理->管理地址前缀 相关函数:e/class/DownSysFun.php DoTypeForDownurl() , QDownLoadFil ...

  8. php 图片不让下载,php简单实现文件或图片强制下载的方法

    本文实例讲述了php简单实现文件或图片强制下载的方法.分享给大家供大家参考,具体如下://下载function downregcaseAction() { $file="upload/reg ...

  9. php如何强制下载文件,php 强制下载文件实例代码

    /** * php实现文件强制下载 * edit: www.jbxue.com */ $file = 'monkey.gif'; if (file_exists($file)) { header('C ...

  10. php批量下载TXT中的URL,需求是这样,再不改变目录结构的前提下,通过URL,批量下载文件,我已经写好了一点儿了...

    //需求是这样,再不改变目录结构的前提下,通过URL,批量下载文件,我已经写好了一点儿了 //但是有点bug,只能下载最后一个文件 //邱老师解决一下 $file=fopen("q.txt& ...

最新文章

  1. SAP独门神器之VC变式配置,硬核整理版重磅推出!
  2. 软件定义闪存存储系统关键技术
  3. 什么是 TypeScript 变量的 declared type
  4. 图论 —— 图的连通性 —— 并查集判断连通性
  5. yum时报Error: rpmdb open failed解决方法
  6. javascript基础-函数
  7. 【毕设狗】【单片机毕业设计】基于单片机的交通红绿灯控制系统的设计
  8. php 网站实例,php网站实例【货币问答】- php网站实例所有答案 - 联合货币
  9. java创建mapping_详解MyBatis Generator自动创建代码(dao,mapping,poji)
  10. Goole 和 Bing 和 Baidu 搜索语法
  11. 如何判断某个类是否有某个注解?
  12. HTML5 ——学习笔记整理
  13. 显示隐藏文件 for Mac
  14. qt for android 中无法运行和调试应用程序,No Device Found,The adb tool in the Android SDK lists all......
  15. moment获取几小时前_moment.js 常用(几天前、相差几天、自然周、自然月)
  16. jsp+servlet图书管理系统
  17. 给Docker中的Nginx搭建HTTPS环境
  18. 买天猫网店转让怎么变更资料
  19. 用baas实现文章管理功能的例子
  20. 043 扫描技术,OpenVAS,AWVS,永恒之蓝漏洞复现

热门文章

  1. 网站ddos发包服务器,ddos发包搭建
  2. eve-ng:加载c7200 dynamips镜像
  3. 服务器tcpip修复工具,tcpip协议修复工具winsockfix
  4. java虚拟机执行过程
  5. Window 消息大全使用详解
  6. 大文件上传NeatUpload简单用法nbsp;(…
  7. 江西直播源PHP代理,直播源更新平台
  8. 遗传算法c语言程序,C++实现简单遗传算法
  9. ctf练习之音频文件
  10. MySQL 高阶语句之函数存储