Content-Disposition~强制浏览器保存文件

如果下载的源码需要作者授权,请更换源码。本站免费分享资源不会增加授权

问题

假设你的网站有一张图片 
http://file.test.com/img/login.jpg

使用浏览器访问这个url,默认情况下,浏览器会自动展现这张图片。那么问题来了,如果你目的是想让浏览器默认下载而非展现这张图,怎么办呢?

解决

http header中有一个字段,可以帮你实现这个目的。

Content-Disposition:attachment;

实践

nginx中增加配置

location ~ img {    add_header Content-disposition "attachment";  }

即对所有图片目录的访问,响应头中增加Content-Disposition。

使用浏览器访问 
http://file.test.com/img/login.jpg

chrome的表现:直接下载login.jpg。

ie9表现:提示“您是要打开还是保存来自file.test.com的login.jpg”

为文件换个名字

有时你希望用户侧使用另外的名字保存文件,这时只要增加filename字段即可。

Content-Disposition:attachment;filename=NewnName1

nginx中,你可以这样写

location ~ img {    add_header Content-disposition "attachment;filename=new.jpg";  }123

此时,你再次用浏览器打开http://file.test.com/img/login.jpg时,会发现文件会以new.jpg的名字被保存。

进一步

你可以用php之类的语言,动态输出http头部的Content-disposition字段及文件内容,这样可以根据需要给文件任意命名了。

本文由(壳先生)整理自网络,如转载请注明出处:https://www.mrshell.com;
本站发布的内容若侵犯到您的权益,请邮件联系 i@mrshell.com 删除,我们将及时处理!
===========================================================================

1. 本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2. 本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
4. 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

=================================================================

壳先生 » Content-Disposition~强制浏览器保存文件

发表评论

提供最优质的资源集合

立即查看 了解详情