我想使用
DirectoryInfo
来源C:\Users\admin\Desktop\Server
:
source.GetDirectories();
我得到了System.UnauthorizedAccessException
:
“对路径'C:\ Users \ admin \ Desktop \ Server'的访问被拒绝。”
我有UWP申请。如何获得从我的UWP应用程序读取和写入文件夹/文件的权限?
答案 0 :(得分:1)
UWP应用程序旨在为用户提供更安全的安装-实际上,它们在沙盒中运行并且默认情况下没有大多数权限,因此用户知道该应用程序不会对她的PC或数据造成任何损害。这包括对文件系统的访问-允许您访问PC上的多个特定路径-包括应用程序安装位置,应用程序数据文件夹。您可以请求其他位置,例如图书馆等。
对于任意位置,您有两个选择:
使用FolderPicker
(请参阅Docs)。用户将选择所需的文件夹,您将获得一个StorageFolder
实例,您可以通过该实例自由访问它。您甚至可以使用FutureAccessList
(请参见Docs)在应用重新启动时存储对该文件夹的权限,这将为您提供一个令牌,您将来可以通过该令牌检索StorageFolder
实例。
声明broadFileSystemAccess
capability。这将使您可以通过StorageFolder
和StorageFile
API(而不是经典的System.IO
API)对文件系统进行完全访问。但是,此权限是受限制的,因此将在Microsoft Store认证过程中进行验证,并且您的应用必须有充分的理由真正需要此权限。