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