FileReaderに問題が発生し、かなり大きなBLOBを読み込んでいます。FileReaderが大きなブロブの読み込みに失敗しました
const size = 50; //MB
const blob = new Blob([new ArrayBuffer(size*1024*1024)], {type: 'application/octet-string'});
console.log(blob.size);
const reader = new FileReader();
reader.onload = function(e) {
console.log(new Uint8Array(e.target.result));
};
reader.readAsArrayBuffer(blob.slice(0, 1024));
https://jsfiddle.net/aas8gmo2/
上記の例では、(それがある場合、100/200/300 MBにブロブのサイズを増やす)のonload機能が毎回呼び出されないことを示しています。この問題はChromeでのみ再生可能です(53.0.2785.143でテスト済み)
何が間違っている可能性がありますか?
2GBの偶数サイズのブロブに問題はありません。私は、大きすぎるBlobを最適化してHDDに移動するので、Chromeにはバグがあると思います。 – Suprido
はい、私はSafariとFirefoxで数GBの巨大な塊を確認しましたが、問題は再現できません。 Chromeのhttps://codereview.chromium.org/2055053003/にバグの問題があります。これがすぐに修正されることを願っています。 – noKid