用户使用 FileOpenPicker
打开文件后,您可以使用 StorageApplicationPermissions
API "缓存" 对其的访问权限。
一旦您拥有要自动打开的 StorageFile
,您可以使用以下代码 "缓存" 对它的访问权限:
string token = StorageApplicationPermissions.FutureAccessList.Add( file )
您将获得一个字符串令牌,可以将其保存在应用程序设置中。下次打开应用程序时,您可以使用以下代码检索文件:
StorageFile file =
await StorageApplicationPermissions.FutureAccessList.GetFileAsync(token)
请注意,此 API 存储的最多项限制为 1000 个,因此如果您预计会添加更多内容,则必须确保删除旧文件,否则您将无法添加新文件。
还有一种替代方法 -
StorageApplicationPermissions.MostRecentlyUsedList
,它可以像
FutureAccessList
一样使用,但它具有自动管理列表的优点。它最多可以存储 25 个项目,但可以在不再需要时自动删除最早的项目。
还要注意,这些 API 不仅可以缓存对文件的访问,还可以缓存对文件夹(
StorageFolder
)的访问。
将文件复制到 AppData 文件夹
如果您只想创建选定文件的本地副本,可以将其复制到应用程序的本地文件夹中。
var file = await picker.PickSingleFileAsync();
if ( file != null )
{
await file.CopyAsync( ApplicationData.Current.LocalFolder );
}