나는 바이너리 파일을 항상 완전히로드 한 다음 그 안에있는 콘텐츠 블록을 스캔했습니다. 이것은 500K를 말할 때까지는 아무 문제가 없었습니다. 지금은 1G 이상으로 큰 파일을 검사하고 있습니다. (클라이언트 측)큰 (1G) 바이너리 파일을 자바 스크립트로로드 할 때 읽습니다.
5MB (1G만큼 큰 파일)를로드하는 것은 좋지 않으며 파일을로드하는 프로세스로 이동하고 싶습니다. 코드 블록을 잡고 처리 할 수 있습니다. 파일 형식은 크기가있는 블록으로 구성됩니다. 그래서 헤더, 첫 번째 블록을 잡고 파일이로드 될 때 구문 분석을 할 수 있습니다.
누군가 내가이 작업이나 유용한 텍스트와 같은 좋은 코드 예제를 어디서 찾을 수 있는지 알고 있다면 매우 감사 할 것입니다.
로드하는 데 필요한 현재 코드는 다음과 같습니다. 입력 상자에서 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");
}
}