[英]How do I write inta a file and download the file using Javascript?
文件正在上傳到遠程服務器,我需要將該文件下載到本地計算機。 我通過 ajax 運行 GET 調用以獲取數據。 在運行以下代碼 -
console.log(xhrdoc.responseText);
該行在瀏覽器的控制台中返回文件的內容。 我需要將這些數據寫入一個文件,然后使用 Javascript 下載該文件。該文件可以是任何格式,如 txt、pdf、png、jpg 等。是否還有一種方法可以以一種方式處理所有不同的文件格式? 不過,我的首要任務是 txt 文件。 我怎樣才能做到這一點?
任何幫助,將不勝感激。 謝謝你。
理想情況下,您只需使用數據 URI 即可完成此操作。 創建一個<a>
標簽並在標簽的 href 屬性中提供一個 blob。
<a href="data:application/octet-stream;charset=utf-16le;base64,//VGV4dCBmaW5sZSBleGFtcGxl">Link to download text file</a>
但是如果你想通過腳本下載它,你可以創建一個<a>
標簽並以編程方式點擊它並刪除<a>
標簽。
請在瀏覽器控制台中嘗試以下代碼。 由於某些原因,“運行代碼片段”按鈕似乎不起作用。
function downloadFileWithContents(filename, fileContents) { const blob = new Blob([fileContents], {type: 'text'}); // create a blob with fileContents if(window.navigator.msSaveOrOpenBlob) { window.navigator.msSaveBlob(blob, filename); } else{ const elem = window.document.createElement('a'); elem.href = window.URL.createObjectURL(blob); elem.download = filename; document.body.appendChild(elem); elem.click(); document.body.removeChild(elem); } } downloadFileWithContents('Filename.txt', 'TEXT'); // downloadFileWithContents('Filename.txt', xhrdoc.responseText)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.