【问题标题】:PhoneGap Accessing FileSystem in Windows 8 AppWindows 8 App 中的 PhoneGap 访问文件系统
【发布时间】:2016-07-07 16:14:46
【问题描述】:

我一直在为 IOS 和 Android 开发 PhoneGap 应用程序。我现在将它迁移到 Windows 8 并且在创建和访问目录时遇到问题,并出现以下错误:Error getting Download/MyNewDirectory directory: ,File Quota Exceeded Error。

文件系统检索没有问题,运行FileSystem.root.fullPath给我:"C:\Users\me\AppData\Local\Packages\84d4fe3a-8719-4d22-9bfd-a0ae9d5c624d_0rbfcm4j9s1vw\LocalState"。我尝试手动将“Download/MyNewDirectory”添加到该\LocalState 目录,但尝试在代码中使用fileSystem.root.getDirectory("Download/MyNewDirectory", { create: true, exclusive: false }, function (directory) {... 访问它们时仍然出现相同的错误

PhoneGap 的文件 API 是否适用于 Windows 8?我宁愿不必重写或填充应用程序的文件访问部分。

编辑: Windows 8 未列为 File 的受支持平台。

【问题讨论】:

    标签: cordova windows-8


    【解决方案1】:

    查看文章系列“PhoneGap 开发人员的 Windows 8 应用”。 这篇特别的文章介绍了文件访问。

    http://css.dzone.com/articles/windows-8-apps-phonegap-0

    【讨论】:

      【解决方案2】:

      如果您在解决方案资源管理器中双击项目主文件夹中的 App-Manifest 文件,您将看到一个功能选项卡。您需要勾选 Documents,在该选项卡旁边还有另一个选项卡(忘记名称)来设置扩展名 - 您需要配置文件扩展名和标准 mime 类型。如果您没有尝试过,我相信这可能是您问题的根源。Ms docs 说需要允许您的应用程序读取文件并将文件写入文档文件夹。

      【讨论】:

        【解决方案3】:

        对于像我这样苦苦挣扎的其他人,添加 weeasle 提到的功能,然后尝试使用:

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

        使用该代码是我可以让它与 html 文件一起使用的唯一方法,因为每次使用以下代码时它都会失败(适用于 iOS 和 Android):

        window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "www/assets/pages/en/navigation.html", gotControls, fail);
        

        希望对您有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-28
          • 1970-01-01
          • 2023-03-17
          • 1970-01-01
          • 1970-01-01
          • 2016-09-18
          相关资源
          最近更新 更多