Content-Disposition 响应头
-
在常规的 HTTP 应答中,
Content-Disposition响应头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。 -
在 multipart/form-data 类型的应答消息体中,
Content-Disposition消息头可以被用在 multipart 消息体的子部分中,用来给出其对应字段的相关信息。
语法
在Response Headers 响应头中设置Content-Disposition
Content-Disposition: inline
Content-Disposition: attachment
Content-Disposition: attachment; filename="filename.jpg"
实际应用
可以配合后台响应,在前端页面实现资源的下载。具体逻辑就是前端页面发起一个请求,接口响应后,在Resopnse Headers 中设置Content-Dispositoin:attachment;filename='xx.xx',然后浏览器会自动去下载对应资源
其他
a标签使用
a标签可以实现自动下载(在不设置download属性的情况下)的功能,但是有一个前提就是,该文件类型要是浏览器不能直接浏览打开的(txt、png、jpg、gif等),要么浏览器就不会自动下载,而是直接打开在页面显示该文件。要想让浏览器也下载这些能直接浏览的文件类型,那就得加上download属性,但是也有一个限制条件,如果资源是跨域的,那么download属性就会失效,即浏览器能预览的还是会预览,而不是下载。