使用C#从网络下载文件
使用WebClient很简单,就是引用一下System.Net; 然后2句代码便可以解决。 Novell迷网站原创内容,未经允许,谢绝转载!
- using System.Net;
- WebClient webClient = new WebClient();
- webClient.DownloadFile("http://novell.me/myfile.txt", @"c:\myfile.txt");
本文转载自http://novell.me
但是如果使用WinForm,显然这种方式是会在下载过程中卡住界面的,直到下载完毕为止。用起来不方便。
本文转载自http://novell.me
下面再提供一种使用异步的方式进行下载,同时还带进度条的哦~ Novell迷网站原创内容,未经允许,谢绝转载!
- private void btnDownload_Click(object sender, EventArgs e)
- {
- WebClient webClient = new WebClient();
- webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
- webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
- webClient.DownloadFileAsync(new Uri("http://novell.me/myfile.txt"), @"c:\myfile.txt");
- }
- private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
- {
- progressBar.Value = e.ProgressPercentage;
- }
- private void Completed(object sender, AsyncCompletedEventArgs e)
- {
- MessageBox.Show("Download completed!");
- }
http://novell.me
需要说明的时,即便如此,也可能会有极小的停顿,因为它要检查DNS,做域名的解析等等。比如上面的http://novell.me 域名。如果你直接使用IP进行的下载,那么它就是个完完全全的异步下载了。
本文引用自http://novell.me
转载请注明出处!本文地址 http://novell.me/master-diary/2014-11-05/cshare-download-files.html
(责任编辑:Novell迷)