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