文件应保存到客户端桌面,而不是保存到服务器桌面

时间:2016-02-11 18:27:30

标签: c# asp.net download path environment-variables

我有一个允许用户上传文件并将其下载到服务器的应用程序。当我点击下载时,该过程有效,但是它将它保存到错误的位置。当用户单击下载时,我希望它将文件保存到用户桌面,但是,当他们单击下载时,它会将文件保存到桌面文件夹中,该文件夹必须由应用程序名称中的应用程序创建。

总结一下:我想保存到客户端的桌面。而是将其保存到服务器:

  

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以外的路径?

0 个答案:

没有答案