0

我正在为 Windows 商店应用程序的文件 api 苦苦挣扎。我想在数据导出时创建子文件夹以写入一些额外的文件。这意味着:

data.txt
extra
+ 1.txt
+ 2.txt

data.txt 是由用户选择的,所以写起来没问题。但是我怎么能创建这个子文件夹呢?

storageFolder.getFolderAsync("C\some\path\where\data\is\extra").done(...

不起作用。由于安全限制,它似乎失败了。

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

4

2 回答 2

0

如果决定让用户选择目录而不是文件。FolderPicker将处理这项工作。这不是我喜欢的解决方案,因为用户失去了选择目标文件夹名称的能力。像 Windows 非 RT 中的 FolderPicker 中的创建选项可以解决它,但还没有办法。

所以我的用户必须通过资源管理器在 Documents 中创建一个导出文件夹,然后在 app.xml 中选择它。

我的结构是:

Documents
+ export (created by user in explorer)
++ 2012-10-04 (hard coded by app)
+++ data.txt
+++ extra
++++ 1.txt
++++ 2.txt
于 2013-10-12T12:31:26.163 回答
0

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

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

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

于 2013-10-11T11:06:59.387 回答