Я хочу прочитать все файлы изображений из какой-либо папки на локальном жестком диске (включая подпапки) с помощью приложения UWP.
Я начинаю с FolderPicker, чтобы пользователь мог выбрать нужную папку:
public async static Task<string> GetFolderPathFromTheUser()
{
FolderPicker folderPicker = new FolderPicker();
folderPicker.ViewMode = PickerViewMode.Thumbnail;
folderPicker.FileTypeFilter.Add(".");
var folder = await folderPicker.PickSingleFolderAsync();
return folder.Path;
}
после успешного получения пути к папке я пытаюсь получить доступ к папке:
public async static Task<bool> IsContainImageFiles(string path)
{
StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(path);
IReadOnlyList<StorageFile> temp= await folder.GetFilesAsync();
foreach (StorageFile sf in temp)
{
if (sf.ContentType == "jpg")
return true;
}
return false;
}
а затем я получаю следующее исключение:
Исключение типа «System.UnauthorizedAccessException» возникло в mscorlib.ni.dll, но не было обработано в информации WinRT кода пользователя: невозможно получить доступ к указанному файлу или папке (D: \ test). Элемент не находится в месте, к которому у приложения есть доступ (включая папки данных приложения, папки, доступные через возможности, и сохраненные элементы в списках StorageApplicationPermissions). Убедитесь, что файл не отмечен системными или скрытыми атрибутами файла.
Итак, как я могу получить доступ для чтения файлов из папки?
Спасибо.