UWP - 获取用户下载文件夹的路径
UWP - Get path to user download folder
我已经找了一段时间了,但没有通过 MSDN 资源和其他资源找到太多帮助。
我的困境很简单:我的应用程序需要一个基本目录到下载文件夹。我知道 DownloadsFolder
class 但这目前不适合我的需要。
如何在 Windows 通用应用程序中获取当前用户的下载文件夹路径?
这是你需要的吗?
string localfolder = ApplicationData.Current.LocalFolder.Path;
var array = localfolder.Split('\');
var username = array[2];
string downloads = @"C:\Users\" + username + @"\Downloads";
这将导致
C:\Users\username\Downloads
System.Environment.ExpandEnvironmentVariables("%userprofile%/downloads/")
使用Windows.Storage.UserDataPaths
获取用户下载文件夹的路径。
string downloadsPath = UserDataPaths.GetDefault().Downloads;
- 此方法是在 build 16232 中引入的,因此具有 RS3(1709) 或更高版本的客户端将能够 运行 它。
- 您不应该使用 LocalFolder 获取下载文件夹路径,这可能会导致用户 changed the default location for it.
时文件夹错误
应用程序的 DownloadsFolder
现在默认为一个文件夹,其中包含以应用程序名称命名的用户下载目录(实际上,应用程序名称文件夹只是一个 link 到以以下名称命名的文件夹Package Family Name
)
为了获取文件夹名称,我使用了以下 hack (vb) 首先在 UWP 应用程序的 DownloadsFolder 中创建一个虚拟文件,然后使用 .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)
我已经找了一段时间了,但没有通过 MSDN 资源和其他资源找到太多帮助。
我的困境很简单:我的应用程序需要一个基本目录到下载文件夹。我知道 DownloadsFolder
class 但这目前不适合我的需要。
如何在 Windows 通用应用程序中获取当前用户的下载文件夹路径?
这是你需要的吗?
string localfolder = ApplicationData.Current.LocalFolder.Path;
var array = localfolder.Split('\');
var username = array[2];
string downloads = @"C:\Users\" + username + @"\Downloads";
这将导致
C:\Users\username\Downloads
System.Environment.ExpandEnvironmentVariables("%userprofile%/downloads/")
使用Windows.Storage.UserDataPaths
获取用户下载文件夹的路径。
string downloadsPath = UserDataPaths.GetDefault().Downloads;
- 此方法是在 build 16232 中引入的,因此具有 RS3(1709) 或更高版本的客户端将能够 运行 它。
- 您不应该使用 LocalFolder 获取下载文件夹路径,这可能会导致用户 changed the default location for it. 时文件夹错误
应用程序的 DownloadsFolder
现在默认为一个文件夹,其中包含以应用程序名称命名的用户下载目录(实际上,应用程序名称文件夹只是一个 link 到以以下名称命名的文件夹Package Family Name
)
为了获取文件夹名称,我使用了以下 hack (vb) 首先在 UWP 应用程序的 DownloadsFolder 中创建一个虚拟文件,然后使用 .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)