有谁知道为什么使用' fileEntry.file'在尝试读取文件时,我的Windows 8应用程序一直出现故障?

时间:2016-05-26 15:34:46

标签: javascript cordova windows-8 cordova-plugin-file

有谁知道为什么要使用' fileEntry.file'在我的Windows 8应用程序中保持失败?

如果我使用以下代码,则会失败:

Windows.Storage.StorageFile.getFileFromApplicationUriAsync(new Windows.Foundation.Uri(cordova.file.applicationDirectory + 'www/assets/pages/en/navigation.html')).done(usethisfile, fail);

function usethisfile(fileEntry) {
    console.log("Im going to use the file... " + fileEntry.path);
    fileEntry.file(function (file) {
        var reader = new FileReader();  
        reader.onloadend = function() {
            console.log("Successful file read: " + this.result);
        };  
        reader.readAsText(fileEntry);   
    }, onErrorReadFile);
}

但如果我删除了' fileEntry.file'部分工作正常:

Windows.Storage.StorageFile.getFileFromApplicationUriAsync(new Windows.Foundation.Uri(cordova.file.applicationDirectory + 'www/assets/pages/en/navigation.html')).done(usethisfile, fail);

function usethisfile(fileEntry) {
    console.log("Im going to use the file... " + fileEntry.path);
    //fileEntry.file(function (file) {
        var reader = new FileReader();  
        reader.onloadend = function() {
            console.log("Successful file read: " + this.result);
        };  
        reader.readAsText(fileEntry);   
    //}, onErrorReadFile);
}

官方文档说使用' fileEntry.file':https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/index.html我已经在Android和Apple商店都运行了应用程序,所以我希望我可以继续使用已经使用的所有当前函数' fileEntry.file'对于Windows版本。

我得到的错误是: 0x800a01b6 - JavaScript运行时错误:对象不支持属性或方法' file'。

我通过命令行和Visual Studio使用Cordova来运行它,如果这有帮助的话。

1 个答案:

答案 0 :(得分:0)

不是100%肯定,但在定义onloadend方法时尝试添加e参数