Можно ли сохранить файл в точное, конкретное место? (Windows 8.1 Универсальное приложение C#)
Что я должен сделать:
Сохраните файл изображения в точное, определенное место при запуске приложения (скажем, "Z:\test\photo.jpeg").
Дополнительная требуемая функциональность:
1) Перезаписать файл ''Z:\test\photo.jpeg', если он уже существует.
2) Пропустить запись, если папка "Z: \ test \" не существует.
Что я уже пробовал:
using Windows.Media.Capture.UI;
using Windows.Storage;
CameraCaptureUI camera = new CameraCaptureUI();
StorageFile photo = await camera.CaptureFileAsync(CameraCaptureUIMode.Photo);
if (photo != null)
{
var targetFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("photo.jpeg", CreationCollisionOption.ReplaceExisting);
if (targetFile != null)
{
await targetFile.DeleteAsync();
await photo.MoveAndReplaceAsync(targetFile);
}
}
Вопрос:
Есть ли способ получить переменную 'targetFile', чтобы указать на конкретное местоположение, например. "Z: \ Test \ photo.jpeg"?
Я не хочу использовать локальную папку данных приложения, папку с изображениями или что-то подобное. Это должно быть именно это место.
1 ответ
Univeral Apps помещаются в "песочницу" и имеют доступ только к своим папкам хранения
Вы можете предоставить доступ к другим файлам, используя FileOpenPicker или FolderPicker, но у вас не будет контроля над тем, в какой файл пользователь выбирает запись.
Это означает, что вы должны заставить своего пользователя выбрать именно тот файл, который вы хотите сохранить, иначе ваше приложение не сможет получить доступ к этому местоположению.
Вот обзор доступных расположений файлов для приложений UWP на MSDN.