Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Chrome中的大Blob创建arraybuffer_Javascript_Google Chrome_Blob_Filereader_Arraybuffer - Fatal编程技术网

Javascript 从Chrome中的大Blob创建arraybuffer

Javascript 从Chrome中的大Blob创建arraybuffer,javascript,google-chrome,blob,filereader,arraybuffer,Javascript,Google Chrome,Blob,Filereader,Arraybuffer,我有一个从blob创建arrayBuffer的简单方法: var blob=somehowGetBlob(); var reader = new FileReader; reader.onload = function () { onComplete(reader.result); }; reader.onerror = function (err) { switch (err.target["error"].code) {

我有一个从blob创建arrayBuffer的简单方法:

 var blob=somehowGetBlob();
 var reader = new FileReader;
 reader.onload = function () {
         onComplete(reader.result);
    };
    reader.onerror = function (err) {
         switch (err.target["error"].code) {
         case err.target["error"].NOT_FOUND_ERR:
              console.log("not found");
              break;
         case err.target["error"].NOT_READABLE_ERR:
              console.log("not read");
              break;
         default:
              console.log("default");
              break;
         };
     };
     reader.readAsArrayBuffer(blob);
一切都是正常的,当我在IE11中运行它时,阅读器总是触发它的onload事件

在chrome中,如果blob的大小很小,那么一切都是正常的。我测试了它,最高可达4MB,但当我使用90MB测试它时,它总是触发NOT_FOUND_ERR


这正常吗?还是有一些变通办法?还是只是Chrome中的一个bug?

听起来像个bug。你查过他们的问题数据库了吗?查过一些,但找不到类似这样的具体案例,比如你应该尝试使用流的能力,读取高达90MB的RAM不是那么理想,尤其是在手机上,尝试读取/处理文件块?