如何使用 HTML/JavaScript 强制下载?

新手上路,请多包涵

我有一个链接,如果用户点击它,我需要做两件事:

  • 向用户发送正确的 HTTP 响应(尤其是 Content-Type: video/mp4
  • 视频文件将自动开始下载。

我已经在 PHP 中看到过类似的东西,但是否只有 HTML/JavaScript 才有可能?

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

阅读 896
2 个回答

自动 将在很大程度上取决于浏览器及其选项。但是您可以通过响应中的 Content-Disposition 标头告诉浏览器您 想要 发生什么(然后它会与用户仔细检查)。例如,将其设置为 attachment;filename=blah.mp4 将在大多数浏览器上邀请用户下载它(使用该文件名),即使浏览器通常会尝试在其自己的界面中显示/播放内容。有关详细信息,请参阅链接。 (下载可能是 mp4 文件的默认设置,但这取决于用户;我发现这在提供 HTML 文件的下载链接时很有用。)

如果您不使用服务器端脚本(正如您所说的那样),则可以通过 Web 服务器中的配置来设置标头。例如,对于 Apache,您将使用与这些视频文件的 URL 匹配的规则并使用 Header 指令

原文由 T.J. Crowder 发布,翻译遵循 CC BY-SA 2.5 许可协议

您可以使用下载属性

<a href="http..." download></a>

或使用指定文件名

<a href="http..." download="filename.pdf"></a>

查看更多: https ://developer.mozilla.org/en/HTML/element/a#attr-download

原文由 Bruce Aldridge 发布,翻译遵循 CC BY-SA 3.0 许可协议

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