UWP拒绝访问到StorageFile

问题描述 投票:0回答:1

使用时,我收到拒绝访问

StorageFile.GetFileFromPathAsync(filePath)

从其他职位和一些文档,我读UWP只能在Package.appxmanifest等申报时视频lib中,视频(配置文件相关的文件夹)的访问...

随着FilePicker我没有问题,访问这些位置,但StorageFile.GetFileFromPathAsync是自动这些文件加载​​到页面加载时的列表。

我怎么可以使用此功能加载已知文件夹的lib视频,视频等文件外

c# uwp storagefile
1个回答
1
投票

您只能使用此方法来访问这些安全通道UWP应用程序访问文件。如果你通过一个文件或文件夹选择器访问到其他位置,则必须使用Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList缓存访问它。该API允许你存储StorageFileStorageFolder的现有实例,并给你一个“令牌”,这是你可以稍后再访问选定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。然而,这是一个受限制的能力和你的应用程序必须有一个很好的理由来使用它。

© www.soinside.com 2019 - 2024. All rights reserved.