【问题标题】:Force a browser to save file as after clicking link [duplicate]单击链接后强制浏览器将文件另存为[重复]
【发布时间】:2012-07-06 09:27:55
【问题描述】:

可能重复:
Is it possible to initiate a download prompt in the browser for recognized MIME types using only JavaScript (client-side approach)?

有没有办法强制带有 JavaScript 例程的浏览器在单击链接后将文件另存为(“另存为”)?我需要默认情况下直接下载图像,而不是由浏览器呈现。

【问题讨论】:

  • 您需要在服务器中执行此操作。

标签: javascript jquery html


【解决方案1】:

您可以像这样使用 HTML5 下载属性:

<a href="path/to/file" download>Click here to download</a>

无论文件类型如何,这都会打开一个“另存为”对话框,而不会带您离开页面。

【讨论】:

  • 我目前的理解是这个属性只有在谷歌浏览器中才被认可和尊重。
  • 对于那些还不支持它的浏览器,它会优雅地降级吗?
  • @JacksonHenley 它链接到资源基本上只是忽略了下载属性。在这里查看这个小提琴:jsfiddle.net/GTCfy 我也验证了它。 它在最新版本的 Internet Explorer、Mozilla Firefox 或 Safari 中不起作用。 所有其他都未经测试。 它在谷歌浏览器中工作
  • 尝试 $("a")[0].click() 访问 DOM 的点击,与 jQuery 不同,它可以工作
  • 不是万无一失的,但在大多数情况下简单有效:) 查看当前浏览器支持:caniuse.com/#feat=download
【解决方案2】:

如果您控制服务器,那么您应该设置它为您希望下载的文件发送 Content-Disposition: 附件标头(例如,您可以在 .htaccess 文件中执行此操作,以将所有 .jpegs 放在特定目录)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2012-11-18
    • 1970-01-01
    • 2015-10-29
    • 2014-03-08
    • 2017-08-25
    相关资源
    最近更新 更多