0

我需要做什么:

运行应用程序时,将图像文件保存到准确的特定位置(例如“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”?

我不想使用本地应用程序数据文件夹、图片文件夹或类似的东西。它必须是这个特定的位置。

4

1 回答 1

3

通用应用程序是沙盒的,只能访问它们的存储文件夹。

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

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

下面概述了MSDN 上 UWP 应用的可访问文件位置

于 2016-08-15T10:21:01.463 回答