我总是完全加载二进制文件,然后继续扫描其中的内容块。对于任何高达500K的东西都可以。我现在正在研究扫描1G或更高的文件。 (客户方)
加载大于5mb(大到1G)的文件并不是很好,而我想转移到一个进程,当文件加载时我可以抓取代码块并处理它。文件格式由具有大小的块组成。所以我可以抓住标题,第一个块并在文件加载时进行解析。
如果有人知道我在哪里可以找到一些像这样工作的代码的好例子,或者我能阅读的有用文本,我将非常感激。
我目前的加载代码如下。 Jquery更改输入框,调用另一个函数将文件加载到内存中,然后处理它。 scanMyFile(buffer)是一个函数,然后发送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 :(得分:0)
File
个对象也是Blob
的一个实例,它提供.slice
方法来创建较小的文件视图。
可能想看看这个问题: filereader api on big files