我正在努力使用Windows应用商店的文件api。我想在数据导出时创建子文件夹以将一些其他文件写入。这意味着:
data.txt
extra
+ 1.txt
+ 2.txt
data.txt由用户挑选,因此编写没有问题。但是我怎么能创建这个子文件夹呢?
storageFolder.getFolderAsync("C\some\path\where\data\is\extra").done(...
不起作用。由于安全限制,它似乎失败了。
我可以忍受写入文件的原因。但是当用户在文档文件夹中选择data.txt时,它也不起作用。
答案 0 :(得分:0)
我担心这是“按设计”行为。
Yoy可以在您的应用程序特定文件夹(AppData)中执行任何操作 当用户通过文件激活或filepicker授予您授权时,您可以在系统的任何位置读取/编辑文件。有api延长该授权的生命周期 如果您的应用在其清单中检查了所需的功能,则可以在已知文件夹内阅读/编辑文件。
由于安全限制,其他文件系统交互将失败。
答案 1 :(得分:0)
如果决定让用户选择目录而不是文件。 FolderPicker将处理这项工作。这不是我首选的解决方案,因为用户无法选择目标文件夹的名称。 FolderPicker中的一个创建选项就像在Windows非RT中一样可以解决它,但还没有。
所以我的用户必须在Documents by Explorer中创建一个导出文件夹,然后在app中选择它。
我的结构是:
Documents
+ export (created by user in explorer)
++ 2012-10-04 (hard coded by app)
+++ data.txt
+++ extra
++++ 1.txt
++++ 2.txt