JavaScript Max Blob大小是否有任何限制

时间:2015-02-03 20:07:50

标签: javascript ajax download blob

我正在尝试使用AJAX调用下载文件。我需要使用AJAX调用,因为我必须发出一个帖子请求以及我需要从客户端发送一些标题。由于Server 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文件。

1 个答案:

答案 0 :(得分:21)

Chrome中的Blob似乎限制在500MiB,目前存储在内存中,但重新设计正在进行中:

https://code.google.com/p/chromium/issues/detail?id=375297

其他浏览器实施的限制略有不同:

https://github.com/eligrey/FileSaver.js/#supported-browsers

相关问题