微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对JavaScript Max 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大小有任何限制.喜欢可以下载4 GB的文件,如果我有大约8 GB的RAM.

解决方法

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

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

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

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

原文地址:https://www.jb51.cc/js/154809.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐