2017-12-27 19 views
2

バイナリファイルを完全にロードしてから、その中のコンテンツブロックをスキャンしています。これは何でも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"); 
    } 
} 

答えて

0

Fileオブジェクトは、ファイルの小さなビューを作成する.slice方法を提供Blobのインスタンスです。 filereader api on big files

は、この質問をチェックアウトする場合があります

関連する問題