javascript - 下载按钮可保存已在线的内容

标签 javascript jquery html button download

我正在做一个下载表格。我想让提交按钮下载已经在线的内容,而不仅仅是打开可以在其上保存的内容。我希望基本上当您单击按钮时就开始下载。

这就是我现在拥有的:

<form method="get" action="/image/hw4jL.png">
     <input type="submit" value="Download"/>
</form>

最佳答案

如果您通过添加 header Content-Disposition: attachment 来控制服务器,则可以强制下载。但是,从客户端(JavaScript 或 HTML)强制下载远程 URL 的唯一方法是使用 the <a download> attribute 。您不能直接将其作为<form>来执行。的 native 操作。

您可以将按钮包装在 download 中链接,并删除其 type="submit" (在本例中也可能是 <form>):

<a download href="/image/hw4jL.png"><input  value="Download" /></a>

或者您可以触发一个不可见的链接,而不是将表单提交到服务器:

<form onsubmit="downloadLink.click(); return false;">
  <input type="submit" value="Download"/>
  <a download href="/image/hw4jL.png" id="downloadLink"></a>
</form>

关于javascript - 下载按钮可保存已在线的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33966200/

相关文章:

javascript - Leaflet 和 jQuery mobile 不会合作

javascript - 使用 jquery 变量设置背景图像(线性渐变)

javascript - 在文本框中,如果用户在中间或除第一个位置之外的任何位置输入减号,它应该跳回前面

html - 当有多个具有相同 ID 值的元素时,jQuery 是如何工作的?

html - 页脚 float 到底部,很好。但是列呢

html - 如何通过 HTML 表格中的 CSS 为 TD 单元格边框的所有 4 个边着色?

c# - 将文档从 WCF 服务下载到网页

javascript - 将变量从 javascript 传递到 ejs

jQuery UI 选项卡 - 如果相应的内容面板为空,如何删除选项卡列表项?

html - 为什么我的 div 不能在浏览器调整大小时堆叠?