Я использую FolderPicker
в своем универсальном приложении Windows, чтобы пользователь выбирал каталог, и когда он это сделал, мне нужно получить доступ к нескольким различным файлам в известных подпутях ниже этого каталога. Я могу выбрать каталог отлично, но когда я пытаюсь получить доступ к вещам в подпути оттуда, мне все еще отказывают в доступе. Есть ли способ предоставить доступ к нескольким файлам в родительском каталоге, не заставляя пользователя вручную выбирать каждый файл, к которому требуется доступ?
Вот мой код, который открывает средство выбора папок и добавляет выбранныекаталог к моему будущему списку доступа:
var folderPicker = new Windows.Storage.Pickers.FolderPicker();
folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop;
folderPicker.FileTypeFilter.Add("*");
Windows.Storage.StorageFolder folder = await folderPicker.PickSingleFolderAsync();
if (folder != null) {
StorageApplicationPermissions.FutureAccessList.AddOrReplace("GitDirectory", folder);
PathTextBox.Text = folder.Path;
this.IsPrimaryButtonEnabled = true;
}
(извиняюсь за мои соглашения об именах, я новичок в мире Win / C #, поэтому я пишу нехитроумно, как я знаю)
Вот код в другом классе, который пытается получить доступ к подпутьу. Можно предположить, что переменной GitDirectory
ранее был присвоен результат вызова FutureAccessList.GetFolderAsync("GitDirectory");
, поскольку она имеет:
StorageFile iniFile = await GitDirectory.GetFileAsync(@"datafiles\i18n\en_US.ini");
IniData data = iniParser.ReadFile(iniFile.Path);
Именно эта последняя строка в конечном итоге выдает это исключение: Access to the path 'E:\Documents\git\asirra\datafiles\i18n\en_US.ini' is denied.
Спасибо за любую помощь заранее