javascript - 使用 Javascript FileReader 处理大文件

标签 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);

e.target.result 始终包含文件的全部数据。

我可以在这里做什么?

谢谢

最佳答案

这只会读取前 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));

关于javascript - 使用 Javascript FileReader 处理大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17472313/

相关文章:

javascript - 导入没有脚本标签的appengine channel js api

Javascript 在 html 文件和外部脚本文件中使用 onload 两次

javascript - 在事件上动态加载时是否执行 jquery 或 javascript?

javascript - 在主体加载 javascript 上调用函数?

javascript - 包括 FileReader.onload 在内的 Angular 单元测试不适用于 async/whenStable 和 fakeAsync/tick

javascript - Jquery FileReader 输入多个图像以缩略图显示

javascript - 检查对象是否已定义,最佳实践。

javascript - 固定数据表调整大小示例 : Cannot resize columns

javascript - for (var x in array) 和 for (var x=0, y= array.length; x<y; x++) 的性能差异

java.io.EOFException : No content to map to Object due to end of input