繁体   English   中英

UWP - 获取用户下载文件夹的路径

[英]UWP - Get path to user download folder

我一直在寻找一段时间,并没有通过 MSDN 资源和其他资源找到太多帮助。

我的困境很简单:我的应用程序需要一个下载文件夹的基本目录。 我知道DownloadsFolder类,但是目前不适合我的需要。

如何在 Windows 通用应用程序中获取当前用户的下载文件夹路径?

使用Windows.Storage.UserDataPaths获取用户下载文件夹的路径。

string downloadsPath = UserDataPaths.GetDefault().Downloads;
  • 此方法在版本 16232 中引入,因此具有 RS3(1709) 或更高版本的客户端将能够运行它。
  • 您不应该使用 LocalFolder 获取下载文件夹路径,这可能会在用户更改其默认位置时导致错误的文件夹。

那是你需要的吗?

string localfolder = ApplicationData.Current.LocalFolder.Path;
var array = localfolder.Split('\\');
var username = array[2];
string downloads = @"C:\Users\" + username + @"\Downloads";

这将导致

C:\\用户\\用户名\\下载

System.Environment.ExpandEnvironmentVariables("%userprofile%/downloads/")

应用程序的DownloadsFolder现在默认为一个文件夹,其中包含以应用程序名称命名的用户下载目录(实际上,应用程序名称文件夹只是指向以Package Family Name命名的文件夹的链接)为了获取文件夹名称,我使用下面的hack(vb)首先在UWP应用程序的下载文件夹中创建一个虚拟文件,然后使用.NET代码获取目录名称,最后删除虚拟文件。

Dim o As StorageFile = Await DownloadsFolder.CreateFileAsync("dummy.txt", CreationCollisionOption.GenerateUniqueName)
Dim dirName Ss String = Path.GetDirectoryName(o.Path)
Await o.DeleteAsync(StorageDeleteOption.PermanentDelete)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM