2022/10/19

177 阅读1分钟

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属性就会失效,即浏览器能预览的还是会预览,而不是下载。

前端下载方式

参考文章:juejin.cn/post/684490…