我想使用Javascript下載二進制文件。使用Javascript下載二進制文件
我有一個REST服務,返回二進制數據,我想知道它是否可能顯示二進制文件,無論文件擴展名爲何。
這是我當前的代碼:
var xhr = new XMLHttpRequest;
xhr.open("GET", requestUrl);
xhr.addEventListener("load", function() {
var ret = [];
var len = this.responseText.length;
var byte;
for (var i = 0; i < len; i++) {
byte = (this.responseText.charCodeAt(i) & 0xFF) >>> 0;
ret.push(String.fromCharCode(byte));
}
var data = ret.join('');
data = "data:application/pdf;base64," + btoa(data);
window.open(data, '_blank', 'resizable, width=1020,height=600');
}, false);
xhr.setRequestHeader("Authorization", "Bearer " + client.accessToken);
xhr.overrideMimeType("octet-stream; charset=x-user-defined;");
xhr.send(null);
謝謝!
這是什麼意思「顯示」? – Tommi
你應該檢查這個答案:http://stackoverflow.com/questions/9620497/download-binary-data-as-a-file-via-javascript –
你想下載的圖像只有?像png和jpegs一樣? –