簡體   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