[英]How to download file with javascript?
我希望能够在按下按钮时下载给定的文件。该文件将通过API
调用提供。现在,我会将其保存在本地存储中。 所以我的文件夹是这样的:
rootFolder
-JS file
-HTML file
-download file (`sample.csv`)
如何创建下载link
? 到目前为止,我已经尝试过: <a download="sample.csv"></a>
我也尝试过使用onclick
事件:
<a download="sample.csv" onclick="download()"></a>
function download|(){
.....code that calls the `api`
}
我不知道这两个如何适合: the download
API(如果有)和click
事件处理程序(如果您计划在下载时执行其他逻辑)。
您可以提供此功能的链接以下载文件:
function downloadURI(uri, name)
{
var link = document.createElement("a");
link.download = name;
link.href = uri;
link.click();
}
由于@saibbyweb 的答案在我撰写本文时不适用于所有浏览器,因此我推荐其他但类似的解决方案,在最新的(撰写本文时)Firefox、Chrome、Opera、Edge、Safari、移动版 Safari、移动版 Chrome 中进行了测试和工作:
function downloadUrl(url){
window.open(url, '_self');
}
毋庸置疑,您也可以使用 _blank 而不是 _self 在新标签页中打开链接,但是您可能会通过使用 Javascript 打开新标签页/窗口来震惊弹出窗口阻止程序。
您可以通过 HTML <a href="/path/to/sample.csv"></a>
,但如果您必须在 JS 中完成,则可以使用https://github.com/eligrey/FileSaver.js /图书馆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.