以编程方式使用FolderPicker

时间:2016-05-10 16:26:28

标签: c# win-universal-app windows-10-universal file-access filepicker

我正在制作Windows 10 UWP应用程序。作为此应用程序的一部分,我需要能够在用户设备的下载文件夹(非应用程序下载文件夹)中搜索。 我为用户创建了一个文件夹选择器,以便能够自己选择下载文件夹。但是,我需要在没有用户的情况下执行此操作。 这是我的文件夹选择器:

FolderPicker picker = new FolderPicker();
picker.FileTypeFilter.Add("*");
picker.ViewMode = PickerViewMode.List;
picker.SuggestedStartLocation = PickerLocationId.Downloads;
StorageFolder folder = await picker.PickSingleFolderAsync();

有什么方法可以使用像Folder Picker这样的东西,但硬编码所以目的地总是设置在一个地方(下载文件夹)?

1 个答案:

答案 0 :(得分:1)

您不能搜索“下载”文件夹,但如果您想要重新获得之前下载的文件,则可以使用FutureAccessList

using Windows.Storage.AccessCache;

file = await DownloadsFolder.CreateFileAsync(...);
var token = StorageApplicationPermissions.FutureAccessList.Add(file,
                                           "anything you like goes here");

您可能希望将令牌保存在应用的本地存储中,这样您就不会忘记它。

以后使用token重新获得对该文件的访问权限。

file = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(token);