使用 UWP 将文件写入“下载”文件夹将进入独立存储

本文关键字:文件夹 独立 存储 UWP 文件 使用 下载 | 更新日期: 2024-10-25 08:09:49

我需要在 Windows 10 上的 UWA 的下载文件夹中创建一个文件,并将现有文件的内容复制到其中。我使用以下代码:

StorageFile cleanFile = await Windows.Storage.DownloadsFolder.CreateFileAsync(cleanFileName);
await file.CopyAndReplaceAsync(cleanFile);

这工作正常,但文件存储的文件夹是这样的:

C:'Users'MyUser'Downloads'e15e6523-22b7-4188-9ccf-8a93789aa8ef_t8q2xprhyg9dt!App'WordComment-clean.docx

我假设这是某种类型的独立存储。但实际上,这不是我所需要的。由于用户无法看到这样的文件。

使用 UWP 将文件写入“下载”文件夹将进入独立存储

来自 MSDN:

用户的"下载"文件夹。默认情况下保存下载文件的文件夹。

默认情况下,你的应用只能访问你的应用创建的用户的"下载"文件夹中的文件和文件夹。但是,你可以通过调用文件选取器(FileOpenPicker 或 FolderPicker)来访问用户的"下载"文件夹中的文件和文件夹,以便用户可以导航和选取你的应用要访问的文件或文件夹。

如果不使用文件选取器,则会将文件保存在"下载"中的应用文件夹中。

苏斯

使用"下载"文件夹

要使用下载文件夹

,用户需要手动选择下载文件夹。

FolderPicker picker = new FolderPicker { SuggestedStartLocation = PickerLocationId.Downloads };
    picker.FileTypeFilter.Add("*");
    StorageFolder folder = await picker.PickSingleFolderAsync();
    if (folder != null) {
           await folder.CreateFileAsync("Hello1.txt");  
    }

我希望这能帮助你。

试试这个: 等待文件。复制和替换异步(清理文件); 等待文件。重命名异步("您想要的名称")