是否可以将文件保存到确切的特定位置? (Windows 8.1 Universal App C#)

时间:2016-08-15 09:58:33

标签: c# windows win-universal-app windows-8.1-universal

我需要做什么:

在运行应用程序时将图像文件保存到确切的特定位置(让我们说" 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?:\测试\ photo.jpeg"

我不想使用本地应用数据文件夹,图片文件夹或类似的东西。它需要是这个特定的位置。

1 个答案:

答案 0 :(得分:3)

Univeral Apps是沙盒式的,只能访问他们的存储文件夹。

您可以使用FileOpenPickerFolderPicker授予对其他文件的访问权限,但您无法控制用户选择要写入的文件。

这意味着您必须让用户选择要存储的确切文件,否则您的应用无法访问该位置。

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