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

Ale*_*987 9 html http file response download

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

  • 向用户发送适当的HTTP响应(尤其是Content-Type: video/mp4)
  • 并且视频文件将自动开始下载.

我在PHP中看到了类似的东西,但是只能用HTML/JavaScript吗?

Bru*_*dge 42

您可以使用下载属性

<a href="http..." download></a>
Run Code Online (Sandbox Code Playgroud)

或使用指定文件名

<a href="http..." download="filename.pdf"></a>
Run Code Online (Sandbox Code Playgroud)

了解更多信息:https://developer.mozilla.org/en/HTML/element/a#attr-download

  • 在我谦卑的无知中......多年以后......谢谢,非常感谢这一点:)而你,来自2020年的访客,请提出这个答案和问这个问题的家伙! (2认同)

T.J*_*der 3

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

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