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

新手上路,请多包涵
 <a download='file' href="https://tinyjpg.com/images/social/website.jpg">
  Download
</a>

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

原文由 gnifrus 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 495
1 个回答

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

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

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

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


简而言之:

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

  1. html 和图像/文件托管在同一域中,

要么 2. 图像/文件位于不同的域中,并且该服务器还表示应该下载它。

原文由 Peter B 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题