我尝试使用cordova-file-plugin读取本地文件。目前,我能够读取本地目录的内容并选择单个文件。但是我在获取文件内容方面遇到了问题。
这是我从列表中选择文件后点击按钮调用的功能:
import() {
window.resolveLocalFileSystemURL(this.file.nativeURL, this.gotFile, this.fail);
}
这里有两个函数 gotFile 和失败:
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);
});
}
我可以在日志中看到读者包含 result 下我文件的所有想要的内容,但是我无法获取并使用它。 readyState 是2,但所有内部reader.onloadend都没有被调用。使用Ionic 1,此代码可以正常运行。
我很高兴,如果有人可以帮助我。提前谢谢!
答案 0 :(得分:9)
离子2中的已知问题
在cordova.js修复之前加载zone.js.
特定于ionic2维持此序列顺序。
<script src="build/polyfills.js"></script> <script src="cordova.js"</script>
,因为polyfills.js执行zone.js。
答案 1 :(得分:1)
虽然我没有使用过onloadend
,但我已成功使用onload
事件处理程序代替Ionic 2,也许你可以尝试一下。
请记住,只有在操作成功时它才会返回。