读取文件系统Windows apache cordova app

时间:2016-11-02 09:47:42

标签: cordova windows-10-universal visual-studio-cordova cordova-plugin-file

我正在使用cordova文件插件来读取我存储在应用程序中的文件并加载它以供用户查看。

我有以下代码:

function readFileName(identifier) {
        var ret = ""
        var directory = cordova.file.applicationDirectory + "www/presentations/files/";
        var fileName = identifier.getAttribute("data-link")
        window.resolveLocalFileSystemURL(directory, function (directoryEntry) {
            directoryEntry.getFile(fileName, { create: false }, function (fileEntry) {
                ret = fileEntry.nativeURL;
            }, ret = null);
        }, fail);
        return ret;
    }

目录解析为ms-appx:/// www / presentations / files /

该代码在Android中运行良好,但在Windows应用程序中,它返回的错误代码为5,根据文档为ENCODING_ERR。

我假设它是因为我的文件路径不正确,但是文档说ApplicationStorage适用于Windows 10并且没有找到任何建议www / presentations / files /文件夹不存在(它确实存在于我的deug文件夹中)。

我很难解决如何解决问题。即使我尝试像这样解析根目录:

 window.resolveLocalFileSystemURL(directory, function (directoryEntry) {
            var reader = directoryEntry.createReader();
            reader.readEntries(function success(entries) {
                var i;
                for (i = 0; i < entries.length; i++) {

                    console.log('En - ', entries[i].fileName);
                }
            }, fail);

我仍然得到同样的错误。任何指针都将非常感激。

编辑:

我查看了以下错误

https://github.com/Reon90/cordova-plugin-file/blob/a4df917e66d0c35cb3e11ca3257f54b8b7dd3eab/src/windows/FileProxy.js

我已将更改应用于该文件,但仍然出现相同的错误

1 个答案:

答案 0 :(得分:3)

  

我看过以下错误   https://github.com/Reon90/cordova-plugin-file/blob/a4df917e66d0c35cb3e11ca3257f54b8b7dd3eab/src/windows/FileProxy.js   我已将更改应用于文件,但仍然出现相同的错误

我做了一个演示,并尝试使用此链接中的代码进行修复。它起初没有用。但是在我使用Command cordova platform rm windows删除了Windows平台并再次运行应用程序之后。它有效!

注意:有关解决问题的详细信息,请参阅Changes made to FileProxy.js