我正在尝试使用 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 的文件。