0
我想下载之前,打包多个XHR响应转换成一个zip文件XMLHttpRequest onload在完成时破坏响应?
的问题是,当xhr.onload执行完毕我参考了响应被破坏..好像什么深刻copys我做在这个函数内也被销毁。
任何解决方法?
var zip = new JSZip();
objs.each(function() {
var fileName = this.id;
var link = this.value;
xhr.open('GET', link, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
zip.file(fileName, this.response);
};
xhr.send(null);
});
zip.generateAsync({type:"blob"}).then(function (blob) {
saveAs(blob, "hello.zip");
});
1.您只能呼叫一次回复,但您尝试多次呼叫。 2.在生成zip之前,您必须等待所有xhr.onload回调。 3.您为所有条目使用相同的文件名。 – Nosyara
对于多个并发请求,不能使用相同的XHR。 – Barmar