Content-Disposition
Content-Disposition 有两种应用场景
一、用在HTTP响应头中
用在HTTP的响应头中,指示响应的内容该以何种形式展示。是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。
Content-Disposition 的第一个参数的值有两个:
- inline:默认值,表示响应中的消息体会以页面的一部分或者整个页面的形式展示。
- attachment:表示响应的消息体应被下载到本地;大多数浏览器会出现一个“保存为”的对话框。
第二个参数是可选的 filename。当响应的内容第一个参数指定为 attachment 时,浏览器会将响应中的内容下载下来,filename 可以指定下载后的文件名。
Content-Disposition 在响应头中可能会这样出现:
// 正常解析渲染
Content-Disposition: inline
// 下载文件
Content-Disposition: attachment
// 下载文件,并将文件保存为filename.jpg
Content-Disposition: attachment; filename="filename.jpg"
二、用在 multipart/form-data的请求体中
还有一种场景是,当页面上有表单,并且我们选择的表单提交方式为 multipart/form-data 时,Content-Disposition 会出现在请求体中。其作用是说明对应的表单项的字段名是什么,表单中上传的文件名是什么。在该场景下第一个参数总是固定不变的 form-data,另外有两个可选参数(不区分大小写
),在’='符号后面使用带引号的字符串语法。name 表示对应的表单项的字段名,filename 表示对应的上传的文件名。参数之间使用 ; 进行分割。
Content-Disposition 在 multipart/form-data 的请求体头中可能会这样出现:
Content-Disposition: form-data
Content-Disposition: form-data; name="fieldName"
Content-Disposition: form-data; name="fieldName"; filename="filename.jpg"
参考:
https://cloud.tencent.com/developer/section/1189916