【发布时间】:2023-03-07 22:04:01
【问题描述】:
我正在尝试使用 AJAX 调用下载文件。我需要使用 AJAX 调用,因为我必须发出一个发布请求以及我需要从客户端发送一些标头。由于服务器 API 不受我们控制,我们除了使用 AJAX 之外别无选择。为了显示文件保存对话框,我将字节数组转换为 blob 到 Object 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 的文件。
【问题讨论】:
标签: javascript ajax download blob