WebClient文件下载

写在前面:.Net中使用远程下载或上传功能,可以使用WebClient方式,这是.Net封装的上传下载工具,使用起来很方便,又包含上传进度变化与上传完成的事件。程序员可以很好地把握和控制上传下载。下面介绍一个使用WebClient的控件。

源网址
http://www.codeproject.com/KB/dotnet/WebClientAsyncDownloader.aspx
你可以在那里下载到源代码

效果图
 
可以在上传时显示进度百分比,和上传后显示文件的大小。窗体使用了一个ListView控件来显示文件信息。

源代码
上传下载功能被封装在DownloaderTask类中,程序的构造函数public DownloaderTask(Uri uriData, System.Windows.Forms.ListView lvDetails)是一个重要的入口。程序会设置ListView控件。
WebClient有两个重要的事件DownloadProgressChanged和DownloadFileCompleted,前者表示上传的进度变化,DownloadProgressChanged的事件类DownloadProgressChanged,包含了正在传送的进度的情况,是异步的。ProgressPercentage属性可以获取异步任务的进度百分比。而DownloadFileCompleted的数据类是AsyncCompletedEventArgs。可以查看异步操作的完成状态。如发生的异常。如果没有异常信息,就表示下载已经完成了。
DownloaderTask也支持不带显示方式的下载,可以只传入远程地址,而不传入ListView,这样就不会显示进程的情况。

posted @ 2010-04-30 17:08  gllg  阅读(361)  评论(0编辑  收藏  举报