3

当我使用:

  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”的文件。那么如何将文件保存到桌面呢?

谢谢

4

2 回答 2

5

你要的是这个...

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

否则,您只是在添加单词 desktop 而不是实际路径。

于 2012-06-21T17:45:50.643 回答
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,它指向磁盘上桌面文件夹的实际物理位置。

于 2012-06-21T17:40:33.357 回答