使用时,我收到拒绝访问
StorageFile.GetFileFromPathAsync(filePath)
从其他职位和一些文档,我读UWP只能在Package.appxmanifest
等申报时视频lib中,视频(配置文件相关的文件夹)的访问...
随着FilePicker我没有问题,访问这些位置,但StorageFile.GetFileFromPathAsync
是自动这些文件加载到页面加载时的列表。
我怎么可以使用此功能加载已知文件夹的lib视频,视频等文件外
您只能使用此方法来访问这些安全通道UWP应用程序访问文件。如果你通过一个文件或文件夹选择器访问到其他位置,则必须使用Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList
缓存访问它。该API允许你存储StorageFile
或StorageFolder
的现有实例,并给你一个“令牌”,这是你可以稍后再访问选定string
一个StorageItem
。
StorageFile file = await savePicker.PickSaveFileAsync();
if (file != null)
{
string faToken = StorageApplicationPermissions.FutureAccessList.Add(file);
}
现在,该文件是在FutureAccessList
,您可以在以后检索:
StorageFile file = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(faToken);
甚至当应用程序被关闭并重新打开所以它可能是您的使用情况下,理想的解决方案存储在FutureAccessList
项目生存。但是,请记住FutureAccessList
最多可存储1000个项目(见Docs),你必须保持它 - 如果你不再需要的物品,一定要删除它,所以它不会对数量上限了。
第二个解决办法是宣布broadFileSystemAccess
capability。然而,这是一个受限制的能力和你的应用程序必须有一个很好的理由来使用它。