霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

Content-Disposition的介绍与使用方法

对web开发人员而言,应该多多熟悉web相关的协议和标准,因为只有这样才能使得经手的web系统更加优秀。本文我们来说一下MIME 协议的一个扩展Content-disposition。

我们在开发web系统时有时会有以下需求:

  • 希望某类或者某已知MIME 类型的文件(比如:*.jpg;*.txt;*.htm)能够在访问时弹出“文件下载”对话框
  • 希望以原始文件名(上传时的文件名,例如:简历.doc)提供下载,但服务器上保存的地址却是其他文件名(如:12519.doc)
  • 希望某文件直接在浏览器上显示而不是弹出文件下载对话框

对于上面的需求,使用Content-Disposition属性就可以解决。下面是代码示例:

Header(“Content-disposition: attachment; filename=” . fileName)。
//attachment表示以附件方式下载。
//如果要在页面中打开,则改为inline。

需要注意的是:服务器端输出不能禁止浏览器缓存