0
我試圖從web服務器以編程方式使用javascript下載zip文件,並面臨着存檔遭到破壞的挑戰。正在下載zipfile導致文件損壞
我使用下面的函數來下載
function download(){
var http = new XMLHttpRequest();
http.open("GET", 'http://jadonchemicals.com/sample.zip');
http.setRequestHeader("dataType", "jsonp");
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200)
{
var blobdata=new Blob([http.responseText], {type: "application/zip"});
var a = document.createElement("a");
a.href = window.URL.createObjectURL(blobdata);
a.click();
}
};
http.send();
}
我收到以下錯誤,當我嘗試打開存檔
a) The file header is corrupt
b) unexpected end of archive
作爲一個例子,而在下載sample.zip文件這個鏈接,該文件下載到975k的大小。 http://jadonchemicals.com/Blobtozip/
當我嘗試通過鏈接腳本到一個按鈕做編程使用JavaScript一樣,文件大小增加至1779k和文件已損壞
我懷疑這是一個編碼問題的結果。你能建議我應該怎麼做才能解決?
謝謝@ 0liveradam8 ...我錯過了提到需求的關鍵部分。我們還需要將文件發送到雲服務器,因此希望從blob中的LocalStorage中形成文件。如果我下載,我不能自動做到這一點。建立文件是造成腐敗 – user7995357
也許這個帖子https://stackoverflow.com/questions/21008732/javascript-save-blob-to-localstorage可以幫助你節省BLOB到localStorage。 – 0liveradam8