FileReader onprogress

时间:2018-05-24 18:14:40

标签: javascript file typescript filereader

我想做什么? 上传csv文件并在解析时向用户显示进度。 使用csv-parse库和FileReader来完成这个技巧。

当前行为 文件上传并解析所有内容,但reader.onprogress始终返回100%。它似乎没有加载块。使用调试器,我发现event.loaded始终与event.total相同。对于任何大小的文件都是这种情况,无论是400Kb还是40Mb - 除了在40Mb的情况下,它只需要几秒钟来显示100.代码如下。

let reader = new FileReader();

    reader.readAsText(this.file);

    reader.onload = () => {
        csvParse(reader.result, (err, data) => {
            for (let i: number = 0; i < data.length; i++) {
                this.jsonData.push(data[i]);
            }
        });
    };

    reader.onprogress = (event) => {
        if (event.lengthComputable) {
            let progress: number = ((event.loaded / event.total) * 100);
            console.log(progress);
        }
    };

    reader.onerror = function () {
       throw new Error("There was an issue reading the file." + reader.error);
    };

0 个答案:

没有答案
相关问题