打开Web根目录下的不同类型文件,浏览器为何做出不同的响应,如何控制?

打开Web根目录下的图片:

clipboard.png

打开Web根目录下的压缩文件:

clipboard.png
经试验发现:打开图片,文档,音乐等文件,浏览器不是弹出下载框,而是直接打开,而压缩文件zip,rar等则弹出下载框。请问如何控制,无论什么文件都弹出下载框

阅读 3k
2 个回答

给所有的文件 添加响应头

Content-type:application/pdf
Content-disposition: attachment; filename=xxx.pdf
Content-length: xxxx

最关键的就是将Content-disposition设置为attachment,而不是inline;有了这个响应头,浏览器就认为这是要下载的附件。

浏览器对于常用格式文件做了识别的,这个不同的浏览器的行为会不同。

不想通过程序控制,可以通过nginx代理,设置mime.types,或者设置header头。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进