C# 通过文件选择器进行访问时,StorageFolder.GetFolderFromPathAsync上的UnauthorizedAccess异常
我尝试从网络位置读取文件。但我一直收到一个未经授权的访问例外 我通过StorageFolder.GetFolderFromPathAsync选择StorageFolder,但列出文件会引发异常 当我通过FolderPicker拾取同一个文件夹时,它会工作 所以我试着找出这段代码的问题:C# 通过文件选择器进行访问时,StorageFolder.GetFolderFromPathAsync上的UnauthorizedAccess异常,c#,windows-runtime,windows-store-apps,windows-10,C#,Windows Runtime,Windows Store Apps,Windows 10,我尝试从网络位置读取文件。但我一直收到一个未经授权的访问例外 我通过StorageFolder.GetFolderFromPathAsync选择StorageFolder,但列出文件会引发异常 当我通过FolderPicker拾取同一个文件夹时,它会工作 所以我试着找出这段代码的问题: FolderPicker picker = new FolderPicker(); picker.FileTypeFilter.Add("*"); StorageFolder pickedFolder = aw
FolderPicker picker = new FolderPicker();
picker.FileTypeFilter.Add("*");
StorageFolder pickedFolder = await picker.PickSingleFolderAsync();
if (pickedFolder != null)
{
var pickedFolderList = await pickedFolder.GetFilesAsync();
var count = pickedFolderList.Count;
if (count > 0)
{
StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(pickedFolder.Path);
var pathFolderList = await folder.GetFilesAsync(); //Exception
if (pathFolderList.Count == count)
{
ProcessFolder(folder);
}
}
}
在设置变量pathFolderList的标记行引发异常。虽然我已经在上面几行列出了相同的文件夹
我设置了以下功能:
<Capabilities>
<Capability Name="internetClient" />
<Capability Name="privateNetworkClientServer"/>
<uap:Capability Name="enterpriseAuthentication"/>
<uap:Capability Name="removableStorage"/>
</Capabilities>
我缺少什么?您的应用程序无法访问路径。通过选择器返回的StorageFolder处理访问文件的权限 代替此行,尝试从pickedFolder创建新的StorageFolder
StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(pickedFolder.Path);
只需使用pickedFolder本身:
var pathFolderList = await pickedFolder.GetFilesAsync(); //Exception
我在我的博客中更详细地谈到了这一点谢谢。这就是我在文档中遗漏的内容。