当我使用时:
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”的文件。那么如何将文件保存到桌面呢?
由于
答案 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,它指向磁盘上桌面文件夹的实际物理位置。