PhoneGap在Windows 8 App中访问FileSystem

时间:2012-11-03 22:02:29

标签: cordova windows-8

我一直致力于为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的File API是否适用于Windows 8?我宁愿不必重写或填充应用程序的文件访问部分。

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

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

对于像我这样苦苦挣扎的其他人,添加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);

希望有所帮助。