使用Javascript FileReader和大文件

ssa*_*l68 8 javascript onload filereader

我有一个问题,使用Javascript FileRead尝试读取大文件.

例如,我有一个200mb的文本文件,每次我读这个文件代码停止工作.

它可以读取文本文件,但是例如只有前10行或10mb后停止读取?

这是我的代码:

var file = form.getEl().down('input[type=file]').dom.files[0];
var reader = new FileReader();

reader.onload = (function(theFile) {
                return function(e) {
                    data = e.target.result;
                    form.displayedData=data;
                };
            })(file);

reader.readAsText(file);
Run Code Online (Sandbox Code Playgroud)

e.target.result总是有文件的全部数据.

我能在这做什么?

谢谢

Esa*_*ija 11

这只会读取前10 MB:

var file = form.getEl().down('input[type=file]').dom.files[0];
var reader = new FileReader();

reader.onload = function(e) {
    var data = e.target.result;
    form.displayedData = data;
};

reader.readAsText(file.slice(0, 10 * 1024 * 1024));
Run Code Online (Sandbox Code Playgroud)

  • 是的,这先读取了 10mb,但文件仍在内存中,我认为最初的问题是关于读取大文件而不是将整个文件加载到内存中。难道我不对吗? (2认同)
  • @Yetti 不,它只加载 10mb 到内存中。 (2认同)