Windows store apps 在windows应用商店应用程序中创建与选定文件相关的文件夹

Windows store apps 在windows应用商店应用程序中创建与选定文件相关的文件夹,windows-store-apps,directory-permissions,Windows Store Apps,Directory Permissions,我正在与windows应用商店应用程序的文件api作斗争。我想在数据导出时创建子文件夹,以便将其他文件写入其中。这意味着: data.txt extra + 1.txt + 2.txt data.txt由用户选择,因此写入没有问题。但是我如何创建这个子文件夹呢 storageFolder.getFolderAsync("C\some\path\where\data\is\extra").done(... 不起作用。由于安全限制,它似乎失败了 我可以忍受写进文件的限制。但是,当用户选择docu

我正在与windows应用商店应用程序的文件api作斗争。我想在数据导出时创建子文件夹,以便将其他文件写入其中。这意味着:

data.txt
extra
+ 1.txt
+ 2.txt
data.txt由用户选择,因此写入没有问题。但是我如何创建这个子文件夹呢

storageFolder.getFolderAsync("C\some\path\where\data\is\extra").done(...
不起作用。由于安全限制,它似乎失败了

我可以忍受写进文件的限制。但是,当用户选择documents文件夹中的data.txt时,它也不起作用。

恐怕这是“按设计”的行为

Yoy可以在特定于应用程序的文件夹(AppData)中执行任何操作 当用户通过文件激活或文件选择器授予您权限时,您可以在系统的任何位置读取/编辑文件。有api可以延长该授权的生命周期 如果您的应用程序在其清单中检查了所需的功能,则可以读取/编辑knownfolder中的文件


由于安全限制,其他文件系统交互将失败。

如果决定让用户选择目录而不是文件。我会处理这项工作。这不是我喜欢的解决方案,因为用户无法选择目标文件夹的名称。FolderPicker中的create选项(如Windows non RT中的create选项)可以解决这个问题,但目前还没有办法

所以我的用户必须通过浏览器在文档中创建一个导出文件夹,然后在应用程序中选择它

我的结构是:

Documents
+ export (created by user in explorer)
++ 2012-10-04 (hard coded by app)
+++ data.txt
+++ extra
++++ 1.txt
++++ 2.txt

我授权应用程序写入文档。我可以使用Windows.Storage.KnownFolders.documentsLibrary创建文件夹。但是,如果我使用storageFolder.getFolderAsync(“C:\\users..\\Documents”),访问将被拒绝。您应该使用KnownFolders访问文档库:此外,您可能希望在声明->文件类型关联中声明要在包清单中操作的文件类型。此外,您必须首先创建“额外”文件在尝试对该目录执行getFolderAsync之前使用CreateFolderAsync的目录: