热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

header中Content-Disposition的作用与使用方法_php技巧

本文章详细的介绍了关于phpheader中Content-disposition用法详细,有需要了解header用法的朋友可参考一下
Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。Content-disposition其实可以控制用户请求所得的内容存为一个文件的时候提供一个默认的文件名,文件直接在浏览器上显示或者在访问时弹出文件下载对话框。

格式说明:
content-disposition = "Content-Disposition" ":" disposition-type *( ";" disposition-parm )  

字段说明:
Content-Disposition为属性名
disposition-type是以什么方式下载,如attachment为以附件方式下载
disposition-parm为默认保存时的文件名
服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt、jpg等,会直接在浏览器中显示,如果需要提示用户保存,就要利用Content-Disposition进行一下处理,关键在于一定要加上attachment:

代码如下:


Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt");


备注:这样浏览器会提示保存还是打开,即使选择打开,也会使用相关联的程序比如记事本打开,而不是IE直接打开了。
Content-Disposition就是当用户想把请求所得的内容存为一个文件的时候提供一个默认的文件名。具体的定义如下:

代码如下:


content-disposition = "Content-Disposition" ":"
disposition-type *( ";" disposition-parm )
disposition-type = "attachment" | disp-extension-token
disposition-parm = filename-parm | disp-extension-parm
filename-parm = "filename" "=" quoted-string
disp-extension-token = token
disp-extension-parm = token "=" ( token | quoted-string )



那么由上可知具体的例子:

Content-Disposition: attachment; filename="filename.xls"
当然filename参数可以包含路径信息,但User-Agnet会忽略掉这些信息,只会把路径信息的最后一部分做为文件名。当你在响应类型为application/octet- stream情况下使用了这个头信息的话,那就意味着你不想直接显示内容,而是弹出一个"文件下载"的对话框,接下来就是由你来决定"打开"还是"保存" 了。

注意事项:

1.当代码里面使用Content-Disposition来确保浏览器弹出下载对话框的时候。 response.addHeader("Content-Disposition","attachment");一定要确保没有做过关于禁止浏览器缓存的操作。如下:

代码如下:


response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "No-cache");
response.setDateHeader("Expires", 0);


不然会发现下载功能在opera和firefox里面好好的没问题,在IE下面就是不行
推荐阅读
  • 利用 Python 实现 Facebook 账号登录功能 ... [详细]
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • 【转】JS键盘按钮keyCode及示例大全(JS前端)
    文章目录以功能区分布以keycode编号顺序分布简记表使用示例:组合键获取用户按下的键javascript判断是否按回车键屏蔽按键组合健获取键和相应值的js回目录 ... [详细]
  • 小编给大家分享一下Css3中box-pack属性怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收 ... [详细]
  • 如何使网页自适应电脑屏幕分辨率?
    在1024*768或者800*600的分辨率下可以自动调整成适用于该客户端分辨率的大小。  第一种方法:做一个网页解决问题(长了点)  如果只是因为浏览者改变了浏览器的设置,或者因为浏览器不兼容,使自 ... [详细]
  • 将Flash Cookies 应用于电子取证
    由于隐私问题,Flashcookie进来成为一个热点安全话题。不过从另一个角度讲,Flashcookie(即本地共享对象)却 ... [详细]
  • CSS深入剖析text和column
    这里写目录标题一、text-shadow二、font-face三、其他text常用特性四、column一、text-shadow与box-shadow类似,这里通过 ... [详细]
  • php强制用户转向www域名办法php强制转向域名
    php教程|php手册php,强制,转向,php教程-php手册php强制用户转向www域名的方法,php强制转向域名matlab神经网络43个案例分析源码,vscode创建前后端 ... [详细]
  • 在我们使用爬虫的过程中,很容易遇到反爬机制是禁用ip的,可以使用代理ip解决ip被封的问题。但是网上ip代理有很多家,到底选哪家好呢&#x ... [详细]
  • php怎么设置多个脚本(php怎么设置多个脚本编辑)
    导读:很多朋友问到关于php怎么设置多个脚本的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • IIS启用Gzip的方法与优缺点分析是千自学中一篇关于Discuz论坛的文章简介:现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的C ... [详细]
  • Dom捕捉事件和冒泡事件原理与demo测试
    先参考一下百度百科对冒泡事件流的解释:----------不喜欢读文字的同学,可以直接看下面demo,传递顺序简单明了!ht ... [详细]
  • 导读:今天编程笔记来给各位分享关于PHP的前端用什么工具的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
  • 目前HTML编辑器可以说是种类繁多,特别是国外,开源的商业的,各种版本,不一而足.我只是简单介绍几个常见的免费开源的可视化HTML编辑器(WYSIWYG).HTMLArea功能一般 ... [详细]
  • 火狐(Mozilla)于今年10月份推出全球隐私控制(GPC:GlobalPrivacyControl)&#x ... [详细]
author-avatar
徐涛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有