admin 管理员组文章数量: 1086019
2024年4月23日发(作者:个人博客不能有评论)
header中Content-Disposition的作用与使用方法
Content-disposition是MIME协议的扩展,MIME 协议指示 MIME 用户代理如何
显示附加的文件。Content-disposition可以控制用户请求所得的内容存为一个文件的时
候提供一个默认的文件名(在浏览器上将弹出文件下载对话框)。
格式说明:
content-disposition = "Content-Disposition" ":" disposition-type *( ";"
disposition-parm )
字段说明:
Content-Disposition字段名
disposition-type 下载方式,(attachment表示以附件方式下载 )
disposition-parm 保存时的默认文件名
服务端向客户端游览器发送文件时,如果该文件是浏览器支持的类型,一般会默认使
用浏览器打开,比如文本文件、图片文件等,它们会直接在显示在浏览器中,并不会显示
下载文件对话框。如果需要提示用户保存,就要利用Content-Disposition字段来告知浏
览器,这个文件需要让用户保存起来。
使用PHP可以这样操作,代码如下:
Header("Content-Disposition","attachment;filename=");
这样浏览器就会弹出下载对话框并提示下载后保存还是打开。 Content-Disposition
在协议中详细定义如下:
content-disposition = "Content-Disposition" ":" disposition-type *( ";"
disposition-parm )
这在上面文章中已有详细解释,必须有一个disposition-type,以及0个或多个
disposition-parm,多个disposition-parm之间用分号分隔。
disposition-type = "attachment" | disp-extension-token
配置类型:由一个attachment组成或者由一个disp-extension-token组成
disposition-parm = filename-parm | disp-extension-parm
disposition-parm由一个filename-parm或者一个disp-extension-parm组成
filename-parm = "filename" "=" quoted-string
filename-parm由关键字filename、等号和quoted-string组成
disp-extension-token = token
disp-extension-token的格式和token相同
disp-extension-parm = token "=" ( token | quoted-string )
一个 disp-extension-parm 由一个 字符串和等号组成
以上内协议解释出自于RFC 1806。可见,content-disposition不仅可以指示浏览器
下载文件时的默认文件名,还有其它一些用处。在此不作过多说明。
示例:Content-Disposition: attachment; filename=""
filename参数虽然也可以包含路径信息,但User-Agnet会忽略掉这些信息,只会把
路径信息的最后一部分做为文件名。当你在响应类型为application/octet- stream情况下
使用了这个头信息的话,那就意味着你不想直接显示内容,而是弹出一个"文件下载"的对
话框,接下来就是由用户来决定"打开"还是"保存" 。
版权声明:本文标题:header中Content-Disposition的作用与使用方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1713832185a653587.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论