2016-08-15 13 views
0

我需要做什麼:是否可以將文件保存到確切的特定位置? (Windows 8.1中通用的應用程序C#)

保存,當應用程序被運行的鏡像文件到一個確切,具體的位置(比方說,「Z:\測試\ photo.jpeg」) 。

其他所需要的功能:

1)覆蓋文件 '' Z:\測試\ 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:\測試\ photo.jpeg」?

我不想使用本地應用程序數據文件夾,圖片文件夾或類似的東西。它需要成爲這個特定的位置。

+1

如果我理解你的問題的權利。你可以看看['Environment.SpecialFolder'](https://msdn.microsoft.com/en-us/library/system.environment.specialfolder(v = vs.110).aspx) –

+0

我看了一下並且SpecialFolder不作爲System.Environment for 8.1應用程序的一部分存在 – Lee

回答

3

Univeral應用程序是沙盒,只能訪問他們的存儲文件夾。

您可以使用FileOpenPickerFolderPicker授予對其他文件的訪問權限,但您無法控制用戶選擇要寫入的文件。

這意味着您必須讓您的用戶選擇要存儲的確切文件,否則您的應用無法訪問該位置。

以下是accessible file locations for UWP apps on MSDN的概述。

+0

對於拾取器,是否可以將SuggestedStartLocation設置爲我的特定路徑? ( 「Z:\測試\」)?我無法在文檔中的任何位置找到它,它似乎只能接受預設的一系列常用位置(My Pictures文件夾等),而不是自定義文件路徑 – Lee

+1

不支持,只支持此列表中的項目:https ://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.pickers.pickerlocationid –

+0

令人沮喪,但我想是一個可以理解的安全決定。謝謝 – Lee

相關問題