【问题标题】:Difference between Content-Disposition: attachment and <a>'s download attributeContent-Disposition: attachment 和 <a> 的下载属性的区别
【发布时间】:2021-07-25 17:38:50
【问题描述】:

当HTTP请求的响应头为Content-Disposition: attachment; filename=image.gif时,浏览器会下载响应体为"image.gif"。当锚标记将下载 enter code hereattribute 设置为 "image.gif" 时,似乎也可以实现。

那么这两者有什么区别呢? Content-Disposition: attachment 方法在支持锚标签上的“download”属性的浏览器中不再有用吗?

【问题讨论】:

    标签: html download http-headers


    【解决方案1】:

    Content-Disposition 仍然有用。

    下载属性将优先于文件名的 Content-Disposition:

    如果 Content-Disposition 标头具有与下载属性不同的信息,则结果行为可能会有所不同: 如果标头指定了文件名,则它优先于下载属性中指定的文件名。 如果标头指定了内联、Chrome 和 Firefox 82 及更高版本的配置,则优先考虑该属性并将其视为下载。 82 之前的 Firefox 版本优先考虑标题并内联显示内容。

    MDN

    但是,您不必使用 HTML5 下载属性,因此 Content-Disposition 是服务器可以在没有客户端方向的情况下决定文件名的另一种方式。

    另外需要注意的是,download 属性只能在同源下工作,所以如果来源不同,没有 Content-Disposition 附件就不能工作。

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 2015-03-11
      • 2011-06-18
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      相关资源
      最近更新 更多