单击链接后强制浏览器保存文件

IT技术 javascript jquery html
2021-02-06 23:44:15

可能的重复:
是否可以仅使用 JavaScript(客户端方法)在浏览器中为已识别的 MIME 类型启动下载提示?

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

2个回答

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

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

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

对于那些尚不支持它的浏览器,它是否会优雅地降级?
2021-03-20 23:44:15
@JacksonHenley 它链接到资源基本上只是忽略下载属性。在这里查看这个小提琴: jsfiddle.net/GTCfy 我也验证了它。 它不适用于最新版本的 Internet Explorer、Mozilla Firefox 或 Safari。 所有其他的都未经测试。 它确实适用于 Google Chrome
2021-03-27 23:44:15
尝试 $("a")[0].click() 访问 DOM 单击,而不是 jQuery,它可以工作
2021-03-27 23:44:15
不是万无一失,但在大多数情况下简单有效:) 请参阅此处了解当前的浏览器支持:caniuse.com/#feat=download
2021-04-01 23:44:15
我目前的理解是,此属性仅在 Google Chrome 中得到认可和尊重。
2021-04-07 23:44:15

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