Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何记录60 MB的HTML5拖放文件的内容+;不挂几分钟?_Javascript_Html - Fatal编程技术网

Javascript 如何记录60 MB的HTML5拖放文件的内容+;不挂几分钟?

Javascript 如何记录60 MB的HTML5拖放文件的内容+;不挂几分钟?,javascript,html,Javascript,Html,我有一个文件,我想把它放在一个页面上读取文件内容。它是一个有9列的CSV。我的drop命令输出如下文件内容: function drop(ev) { ev.preventDefault(); var data = ev.dataTransfer.files[0]; var fileReader = new FileReader(); fileReader.onload = function (e) { console.log(fileReade

我有一个文件,我想把它放在一个页面上读取文件内容。它是一个有9列的CSV。我的drop命令输出如下文件内容:

function drop(ev) {
    ev.preventDefault();
    var data  = ev.dataTransfer.files[0];

    var fileReader = new FileReader();
    fileReader.onload = function (e) {
        console.log(fileReader.result)
    };
    fileReader.onerror = function (e) {
        throw 'Error reading CSV file';
    };

    // Start reading file
    fileReader.readAsText(data);

    return false;    
}
当我拖放一个只有几千字节或1MB的简单文件时,我可以看到文件内容的输出。然而,给定一个大的CSV文件,它需要很多分钟才能显示出来。有没有一种方法可以让它看起来不像是挂着的,所以有一些流媒体 您可以获得一个ReadableStream并以流式方式执行它

“严格使用”
var blob=new blob(['111222333\naaa,bbb,ccc'])//模拟文件
var stream=blob.stream()
var reader=stream.getReader()
变量头字符串=“”
var forEachLine=函数(行){
var columns=row.split(',')
//附加到DOM
控制台日志(列)
}
变量泵=函数(){
返回reader.read().then(函数(结果){
var值=结果值
var done=result.done
如果(完成){
//做最后一行
头串和前斜线(头串)
返回
}
对于(变量i=0;i

有这方面的普通javascript示例吗?这是普通javascript,碰巧是用ES6编写的。或者你在问它是否可以在没有任何依赖项的情况下完成?询问它在ES5中的外观。添加了一个使用FileReader@strah 2^19 ≈ 0.5 MB块