获取用户为其 PC 设置的默认下载位置



在我的电脑中,我已将默认下载文件夹从"C:\Users\MyProfile\Downloads"更改为"D:\Downloads"。

现在,在我的 UWP 应用中,我能够使用 Windows.Storage API DownloadsFolder 类将用户从我的应用下载的文件保存在"D:\Downloads"中。但是我需要向用户显示下载文件的路径。

如上所述,我无法获取用户设置为默认下载位置的位置(从 c: 驱动器到 d: 驱动器(。

有没有办法检查用户是否为他的下载设置了不同的位置,如果是,则获取文件夹路径?

Environment.ExpandEnvironmentVariables(@"%USERPROFILE%Downloads")

上面的代码总是给出"C:\Users\MyProfile\Downloads"。但是我已经将下载位置更改为D:驱动器。

您无法直接获取用户在设备上设置的DownloadsFolder路径。您只能通过StorageFileStorageFolderPath属性获取下载文件夹的路径,该属性在DownloadsFolder中创建下载文件夹。

您可以按照以下步骤执行一个技巧来获取DownloadsFolder的路径: 在DownloadsFolder中创建文件 => 获取文件的路径并保存路径 => 删除文件。

private async Task<string> GetDownloadsFolderPath()
{
StorageFile newFile = await DownloadsFolder.CreateFileAsync("mytestfile");
if (newFile != null)
{
//You maybe need to operate the DownloadFolderPath string to subtract the folder name of your app.
string DownloadFolderPath = newFile.Path;
await newFile.DeleteAsync();
return DownloadFolderPath;
}
else
{
return "There is an error to get path";
}
}

最新更新