バイナリファイルを完全にロードしてから、その中のコンテンツブロックをスキャンしています。これは何でも500Kと言うのは大丈夫だった。私は現在、1G以上のファイルをスキャンしています。 (クライアント側)大きな(1G)バイナリファイルをJavascriptでロードするときに読み込みます。
5GB以上のファイルをロードすると大したことはありません。ファイルがロードされるプロセスに移動したいと思います。コードのブロックを取得して処理できます。ファイル形式はブロックサイズで構成されています。だから私は、ヘッダー、最初のブロックをつかむことができ、ファイルが読み込まれるように解析します。
誰かがこの作業のようなコードの良い例を見つけることができるか、または私が読むことができる有用なテキストを知っていれば、とても感謝しています。
私の現在の読み込みコードは以下の通りです。 Jqueryは入力ボックスを変更し、別の関数を呼び出してファイルをメモリにロードし、処理します。 scanMyFile(バッファ)は、ファイル内のすべてを識別するためにarraybufferが送信された関数です。
$("#myfile").change(function (e) {
try {
readMyFile(e);
} catch (error) {
alert("Found this error : " + error);
}
});
function readMyFile(evt) {
var f = evt.target.files[0];
if (f) {
var r = new FileReader();
r.onload = function (e) {
var buffer = r.result;
scanMyFile(buffer);
};
r.readAsArrayBuffer(f);
} else {
alert("Failed to load file");
}
}