提问者:小点点

如何在单击HTML按钮或JavaScript时触发文件下载


这是疯狂的,但我不知道如何做到这一点,因为如何常见的词,很难找到我需要的搜索引擎。我想这应该是一个很容易回答的问题。

我想要一个简单的文件下载,这将做同样的如下:

<a href="file.doc">Download!</a>

但我想使用HTML按钮,例如:

<input type="button" value="Download!">
<button>Download!</button>

同样,是否可以通过JavaScript触发一个简单的下载?

$("#fileRequest").click(function(){ /* code to download? */ });

我绝对不是在寻找一种方法来创建一个看起来像按钮的锚,使用任何后端脚本,或者混乱服务器头或mime类型。


共3个答案

匿名用户

你可以做的按钮

<form method="get" action="file.doc">
   <button type="submit">Download!</button>
</form>

匿名用户

您可以使用HTML5download属性触发下载。

<a href="path_to_file" download="proposed_file_name">Download</a>

其中:

  • path_to_file是解析为同一来源的URL的路径。这意味着页面和文件必须共享相同的域、子域、协议(HTTP vs.HTTPS)和端口(如果指定)。例外情况是blob:数据:(始终有效),以及文件:(从不有效)。
  • proposed_file_name是要保存到的文件名。如果为空,则浏览器默认为文件名。

文档:MDN、HTML标准on downloading、HTML标准ondownload、CanIUse

匿名用户

HTML:

<button type="submit" onclick="window.open('file.doc')">Download!</button>

相关问题