繁体   English   中英

如何使用javascript下载文件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM