无法在WPF C#中将下载的文件保存到桌面

时间:2012-06-21 17:36:32

标签: c# wpf webclient

当我使用时:

  WebClient web = new WebClient();
  web.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChangedWeb);
  web.DownloadFileAsync(new Uri("http://www.website.com/Webs.exe"),
                            Environment.SpecialFolder.Desktop + @"\Webs.exe");

......没有下载。

但如果我将其改为“

  WebClient web = new WebClient();
  web.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChangedWeb);
  web.DownloadFileAsync(new Uri("http://www.website.com/Webs.exe"),
                            Environment.SpecialFolder.Desktop + "Webs.exe");

然后下载,但我得到一个名为“desktopWebs.exe”的文件。那么如何将文件保存到桌面呢?

由于

2 个答案:

答案 0 :(得分:4)

你想要的是......

Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\Webs.exe";

否则你只是在单词desktop而不是实际路径上。

答案 1 :(得分:3)

您可以使用Path.Combine

web.DownloadFileAsync(new Uri("http://www.website.com/Webs.exe"),
                        Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Webs.exe"));

此功能将自动插入(或删除)斜杠以及适应所使用的任何文件系统

您还应该考虑使用Environment.SpecialFolder.DesktopDirectory,它指向磁盘上桌面文件夹的实际物理位置。

相关问题