Я работаю над приложением UWP. Я использую FolderPicker
, чтобы выбрать папку на диске. Теперь я хочу выполнить поиск по всей папке, выбрать видеофайлы и файлы изображений и показать их в виде слайд-шоу.
Ниже описано, как я использую FolderPicker
для выбора одной папки.
FolderPicker openPicker = new FolderPicker()
{
ViewMode = PickerViewMode.Thumbnail,
SuggestedStartLocation = PickerLocationId.ComputerFolder
};
openPicker.FileTypeFilter.Add("*");
var SelectedFolder = await openPicker.PickSingleFolderAsync();
Проблема, с которой я сталкиваюсь, заключается в том, что я выбрал папку, используя FolderPicker
, когда Я выбираю один файл как StorageFile
или подкаталог, используя GetFolderFromPath()
, он выбрасывает UnAuthorizedAccessException
System.UnauthorizedAccessException: «Доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED)) '
Ниже показано, как я могу получить доступ к ним обоим:
StorageFolder accessFolder = StorageFolder.GetFolderFromPathAsync(SelectedFolder.Path + "\\subDir1\\subDir2").AsTask().GetAwaiter().GetResult(); // throws the exception
StorageFile file = accessFolder.GetFileAsync("DummyMediaFile.mp4").AsTask().GetAwaiter().GetResult(); // also throws the exception