Ошибка при настройке пользовательского StorageFolder в приложении UWP - PullRequest
0 голосов
/ 29 октября 2018

Я работаю над небольшим UWP приложением, которое будет снимать фотографии и видео и сохранять их в нужном месте на ПК.

Вот кодовая база, которую я использую https://github.com/Microsoft/Windows-universal-samples/blob/master/Samples/CameraStarterKit/cs/MainPage.xaml.cs

Когда я пытаюсь инициализировать класс StorageFolder желаемым путем, он выходит как ноль. Поддерживает только инициализацию следующими путями

var picturesLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Documents);
var picturesLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Music);
var picturesLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Pictures);
var picturesLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Videos);

Вот мой код:

private StorageFolder _captureFolder = null;
 _captureFolder = picturesLibrary.SaveFolder ?? ApplicationData.Current.LocalFolder;
var file = await _captureFolder.CreateFileAsync("SmartPhoto.jpg",
                    CreationCollisionOption.GenerateUniqueName);
var picturesLibrary = await Task.Run(() =>
                    System.IO.File.Move(file.Path, @"C:\Temp\Pictures\" + file.Name));

Поскольку StorageFolder не инициализируется для C:\Temp\Pictures, я попытался переместить этот файл с KnownLibraryId.Pictures на C:\Temp\Pictures, и это тоже не удалось,

System.UnauthorizedAccessException: 'Доступ к пути 'C: \ Temp \ Pictures' запрещен. '

enter image description here

1 Ответ

0 голосов
/ 29 октября 2018

Это сделано специально, приложение UWP не может - по умолчанию - получить доступ ко всем местам на вашем жестком диске ...

В нем разрешен только определенный набор папок, но вы можете включить больше, используя средство выбора файлов или добавив возможности.

Как указано в документации здесь: https://docs.microsoft.com/en-us/windows/uwp/files/file-access-permissions

Универсальные приложения Windows (приложения) могут получать доступ к определенным местоположениям файловой системы. по умолчанию. Приложения могут также получить доступ к дополнительным местоположениям через файл Средство выбора или путем объявления возможностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...