2016-11-25 72 views
1

我一直在试图学习如何处理在UWP中保存正常的.txt文件,并且已经意识到它相对于WPF而言是相当锁定的,特别是在不需要用户选择位置的情况下可以访问哪些文件夹。我已经搜索这可能是可能的各种方式,但没有找到工作的答案。用户是否可以只选择一次文件保存位置?


问题描述:

我基本上很想知道这是可能的,在那里我可以学到究竟如何做到这一点的最好方向的一个点。

  • 应用程序设置页面要求用户选择保存文件的文件夹。
  • 应用程序在启动之间记住这一点(不确定这是否可行,但我不能要求用户在每次启动时选择文件夹)
  • 应用程序将文件保存到指定文件夹。

在我的理解中,这应该是可能的,因为用户是通过filepicker指定位置的用户,但可以在启动之间进行此项工作,以便用户不需要重新选择保存夹?


我必须想出解决办法,因为我想我的应用程序支持选择连接的网络驱动器,云存储文件夹等

任何帮助非常感谢,如果有任何疑问,我会尽我所能回答他们。

+2

试试这个[StorageItemAccessList](https://msdn.microsoft.com/library/windows/apps/br207459) – tao

回答

2

FOW为此,有设计了两个访问列表:FutureAccessListMostRecentlyUsedList。一旦用户拿起文件夹的选择器,你将它添加到这样的列表,并获得令牌,你对未来的目的保存​​:

ApplicationData.Current.LocalSettings.Values["MyFolder"] = StorageApplicationPermissions.FutureAccessList.Add(pickedFolder); 

后来的后来,一旦你要访问该文件夹,你可以做这样的:

StorageFolder folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(ApplicationData.Current.LocalSettings.Values["MyFolder"].ToString()); 

您不能StorageFolder或路径保存它的设置,因此UWP应用程序需要的权限来访问该文件夹。使用上面的访问列表解决了这个问题。

+0

太棒了,我需要在清单中声明这个用法吗?我记得看到一些提到这一点的帖子。 –

+0

@ DionS.Jensen您不需要在manifest中放置任何东西 - 这是通过选取器授予文件夹/文件权限的用户。只记得处理一些例外情况,因此以上只是示例行。 – Romasz

+0

谢谢,会做。 –

相关问题