html - 强制 <a download/> 下载图像而不是打开图像的 url 链接

标签 html

<分区>

<a download='file' href="https://tinyjpg.com/images/social/website.jpg">
  Download
</a>

有没有办法强制下载文件而不是在新窗口中打开文件?现在,如果文件是一个 URL,就像下面的例子一样,它不会被下载并会在新窗口中打开。

最佳答案

您可能会被 Firefox 和 Chrome 65+ 仅支持同源下载链接这一事实所困扰,这可能是一种安全措施。

来源:https://caniuse.com/#feat=download (请参阅“已知问题”选项卡)

Web 超文本应用技术工作组 (WHATWG) 建议在跨源场景中(如您的示例),托管相关图像/文件的 Web 服务器需要发送 Content-Disposition download= 的 HTTP header 获得荣誉。

来源:https://html.spec.whatwg.org/multipage/links.html#downloading-resources


简而言之:

您只能使用 <a download='...'></a>强制下载图像/文件,如果:

  1. html 和图像/文件托管在同一域中,
  2. 图像/文件位于不同的域中,并且该服务器还表示应该下载它。

关于html - 强制 <a download/> 下载图像而不是打开图像的 url 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49736214/

相关文章:

html - 除页面外的DIV

jquery - float 框欠输入

html - 我可以制作一个 svg 图像按钮吗?

html - 谁能帮我在网站上的照片上放一张空白图片?

html - 标签在列表标签​​中掉落

php - 表单上的单独提交按钮告诉表单 "action"发布到不同的文件?

html - 折叠的 Bootstrap 3 导航栏超出范围(下拉菜单)

c# webbrowser 控制打印

html - <H2> 之后是 <Sup>

html - 仅显示单击元素 Angular 2 的类