千家信息网

Content-disposition

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。当 Internet Explorer 接收到头时,它会激活文件下载对话框,
千家信息网最后更新 2026年10月31日Content-disposition

Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。当 Internet Explorer 接收到头时,它会激活文件下载对话框,它的文件名框自动填充了头中指定的文件名。(请注意,这是设计导致的;无法使用此功能将文档保存到用户的计算机上,而不向用户询问保存位置。)

服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt、jpg等,会直接在浏览器中显示,如果需要提示用户保存,就要利用Content-Disposition进行一下处理,关键在于一定要加上p_w_upload:

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

备注:这样浏览器会提示保存还是打开,即使选择打开,也会使用相关联的程序比如记事本打开,而不是IE直接打开了。

Content-Disposition就是当用户想把请求所得的内容存为一个文件的时候提供一个默认的文件名。具体的定义如下:

content-disposition = "Content-Disposition" ":"

disposition-type *( ";" disposition-parm )

disposition-type = "p_w_upload" | 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: p_w_upload; filename="filename.xls"

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

注意事项:

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

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

不然会发现下载功能在opera和firefox里面好好的没问题,在IE下面就是不行,就是找不到文件。


在IE5和Opera中浏览器会不管Content-Disposition头的内容,要再次声明Content-Type,声明Content-Length可以显示下载进度条


代码如下:

$fileName = 'config.ini';$mimeType = 'application/zip';if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 5') or strpos($_SERVER['HTTP_USER_AGENT'], 'Opera 7')) {        $mimeType = 'application/x-download';}header('Content-Disposition: p_w_upload; filename=' . $fileName);header('Content-Type: ' . $mimeType);header('Content-Length: ' . filesize($fileName));



文件 浏览器 浏览 用户 信息 文件名 内容 对话框 就是 对话 代码 功能 文件下载 时候 类型 路径 还是 提示 不行 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手磨咖啡 广东万易互联网科技有限公司惠州分公司 苏州互联网科技贷款公司 互联网金融和金融科技 甘肃拓世互联网科技有限公司 互联网和高科技公司 银川新华互联网科技职业技术培训学校图片 千方科技属于互联网企业吗 链环科技传统企业怎么转型互联网 乌鲁木齐新华智原互联网科技学校 工业互联网等科技实现智能化赋能 科技大学互联网 卓翼科技产业互联网合作 互联网金融科技公司的优势 山东星卡互联网科技有限公司官网 济南小医互联网科技有限公司招聘 互联网界的黑科技 陕西九四连强互联网科技有限公司 亚光科技低轨卫星互联网 宁波允成互联网科技有限公司 互联网科技股 猪兼强互联网科技 唐信互联网科技 新浪科技互联网 互联网高科技股票 承德科技产业互联网发展 重庆威客帮互联网科技 栖莱科技互联网股份有限公司 广州智享互联网科技 青岛互联网科技园
0