2016-10-28 79 views
1

我通過XMLHttpRequest索取一些數據。 當我嘗試將結果保存爲文件時,我已經更改了文件的大小,並且文件變得無法讀取。如何避免更改BLOB大小?

args.response.length 
//9214 
new Blob([args.response], {type: args.mime}) 
//Blob {size: 12252, type: "application/vnd.ms-excel;charset=utf-8"} 

我怎麼能避免這種重新編碼和保存文件,因爲它的響應?

+0

什麼是'args.response'?什麼是'args.responseType'?它已經應該是一個blob,所以你不必改變任何東西。 – Bergi

回答

1

XMLHttpRequest返回幾種類型的數據之一。 DOMString,ArrayBuffer,Blob,Document,JSON,Text和瀏覽器特定類型。你可以在這裏看到它們:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response

更可能的類型就像一個字符串,其長度比字節表示更短(由於2字節字符等)。

+0

非常感謝!你給了我一個提示! – Serge

+0

太棒了!很高興聽到它爲你工作。 – PaulBGD

1

PaulBGD的答案我找到了解決辦法。 XMLHttpRequest給我返回的空responseType被視爲DOMString。我只是說

xhr.responseType = 'blob';

打開請求後,它的偉大工程。

相關問題