2016-08-15 2 views
0

Что мне нужно сделать:Можно ли сохранить файл в точном, конкретном месте? (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); 
    } 

} 

Вопрос:

Есть ли способ, чтобы получить переменную «Целевой_файла», чтобы указать на определенное место, например. "Z: \ Test \ photo.jpeg"?

Я не хочу использовать локальную папку данных приложения, папку с картинками или что-то в этом роде. Это должно быть именно это место.

+1

Если я правильно понимаю ваш вопрос. Вы можете посмотреть ['Environment.SpecialFolder'] (https://msdn.microsoft.com/en-us/library/system.environment.specialfolder (v = vs.110) .aspx) –

+0

У меня был взгляд и SpecialFolder не существует в составе System.Environment для 8.1 приложений – Lee

ответ

3

Univeral Apps изолированы песочницей и могут получить доступ только к их папкам хранения.

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

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

Описание: accessible file locations for UWP apps on MSDN.

+0

Для сборщиков, возможно ли, чтобы SetStocationLocation устанавливал мой конкретный путь? ("Z: \ тест \")? Я не могу найти его нигде в документации, он только кажется способным принять заданную серию общих местоположений (папка «Мои рисунки» и т. Д.), А не путь к произвольному файлу – Lee

+1

Нет, поддерживаются только элементы в этом списке: https : //msdn.microsoft.com/en-us/library/windows/apps/windows.storage.pickers.pickerlocationid –

+0

Разочарование, но понятное решение безопасности, я полагаю. спасибо – Lee