FileReader未在Ionic 2中加载端启动

FileReader not firing onloadend in Ionic 2

本文关键字:加载 启动 未在 Ionic FileReader      更新时间:2023-09-26

我正在尝试使用cordova文件插件读取本地文件。目前,我可以读取本地目录的内容并选择一个文件。但我在获取文件内容方面遇到了问题。

这是我的函数,在从列表中选择文件后单击按钮即可调用:

import() {
    window.resolveLocalFileSystemURL(this.file.nativeURL, this.gotFile, this.fail);
}

这里有两个函数gotFilefail

fail(e) {
    console.log(e);
}
gotFile(fileEntry) {
    var file = fileEntry.nativeURL;
    fileEntry.file(function(file) {
        var reader = new FileReader();
        reader.onloadend = function(e) {
             console.log('onloadend()'); 
        };
        reader.readAsText(file);
        console.log(reader);
    }); 
}

我可以在日志中看到阅读器,其中包含结果下我的文件的所有想要的内容,但我无法获取并使用它。readyState为2,但未调用reader.onloadend内的所有内容。使用Ionic 1,此代码可以毫无问题地工作。

如果有人能帮我的话,我将非常高兴。提前谢谢!

离子2 中的已知问题

在cordova.js修复之前加载zone.js。

特定于离子2,保持该序列顺序。

<script src="build/polyfills.js"></script> <script src="cordova.js"</script>

当polyfills.js执行zone.js.

虽然我没有使用onloadend,但我已经成功地在Ionic 2中使用了onload事件处理程序,也许您可以尝试一下。

请记住,只有在操作成功的情况下,它才会返回。