我有一个允许用户上传文件并将其下载到服务器的应用程序。当我点击下载时,该过程有效,但是它将它保存到错误的位置。当用户单击下载时,我希望它将文件保存到用户桌面,但是,当他们单击下载时,它会将文件保存到桌面文件夹中,该文件夹必须由应用程序名称中的应用程序创建。
总结一下:我想保存到客户端的桌面。而是将其保存到服务器:
C:\用户\ RHAField \桌面
( RHAField是应用程序名称)
这是我下载文件的代码。
这里我声明位置然后调用StartDownload方法。基于下载按钮的ID从数据库中检索VisitFile,然后将其与路径组合。
string DownloadLocation = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "visits\\download\\");
string SaveLocation = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
VisitFile = (string)SQLCommand.ExecuteScalar();
StartDownload(Path.Combine(DownloadLocation, VisitFile), Path.Combine(SaveLocation, VisitFile));
StartDownload()方法:
private void StartDownload(string DownloadSource, string SaveLocation)
{
try
{
Thread thread = new Thread(() =>
{
WebClient client = new WebClient();
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
client.DownloadFileAsync(new Uri(DownloadSource), SaveLocation);
});
thread.Name = "aFieldDownload";
thread.Start();
}
catch (Exception err)
{
DownloadPercent = 999;
}
}
如何将其保存到客户端桌面而不是服务器?我的SaveLocation路径有问题吗?是否有更好的方法来获取除SpecialFolder.DesktopDirectory以外的路径?