我正在尝试使用AJAX调用下载文件。我需要使用AJAX调用,因为我必须进行POST请求,并且还需要从客户端发送一些标头。由于服务器API不在我们的控制范围内,因此我们没有其他选择,只能使用AJAX。为了显示文件保存对话框,我将字节数组转换为blob对象URL,如下所示:
var oReq = new XMLHttpRequest();
oReq.open("POST","api/operations/zip", true);
oReq.responseType = "arraybuffer";
oReq.onload = function(oEvent) {
var blob=new Blob([oReq.response], {type: 'application/octet-binary'});
var link=document.createElement('a');
link.href=window.URL.createObjectURL(blob);
link.download="myFileName.zip"; link.click();
}
oReq.send(filePaths);
我想知道在JavaScript中,除了浏览器内存限制之外,是否有任何关于Blob大小的限制。比如说,如果我有大约8 GB RAM,那么是否可以下载4 GB的文件。