使用JavaScript自动从链接下载文件

4
1个回答

17

您可以使用HTML5的download属性,在不使用JavaScript的情况下完成它。

<a href="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" download>download file</a>

为了让它无需用户交互运行,您可以创建一个锚点并使用JavaScript触发其点击事件

var a = document.createElement('a');
a.href = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png";
a.download = 'download';

a.click();

谢谢。这正是我所需要的。 - Shafiq
在Chrome中尝试了这段代码,仍然会弹出一个对话框提示用户输入文件名。 - jay.m
1
@jay.m - 浏览器因安全问题不再允许无用户交互下载文件。 - adeneo
这个方法只需要做一个小改动就可以了。我的网页在沙盒中运行,所以似乎我必须先打开一个新窗口:var newWindow=window.open("", '_blank'); var a = newWindow.document.createElement('a');。不幸的是,它会留下一个空白窗口。如果你使用 newWindow.close() 关闭它,用户还没有保存就会关闭,所以什么也没发生。 - Brad Mathews

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接