分享

中国.Net论坛--『 C#.Net 』 浏览:关于如何在下载过程中截取下载过程的方法!-...

 COPY&PASTE 2009-10-04
关于如何在下载过程中截取下载过程的方法!
前几天有人问我这个方法,我这里说明一下。
我用的是WebClient类实现,关键是我没在FTP上实现过。不过HTTP绝对可以!
其实很简单的。
string urlString = "http://localhost/aaa/Paos.rar"; //即将要下载的文件地址
WebClient wc = new WebClient();
Stream sm = wc.OpenRead(urlString);  //将网络流读取附给一个基础流
FileStream fsm = new FileStream(@"c:\Paos.rar",FileMode.OpenOrCreate);//建立一个对应的文件流
Byte[] btyArray = new Byte[8000];//用个字节数组做缓冲区
while(sm.Read(btyArray,0,8000)>=0) //将基础流中数据写到缓冲区里
{
   fsm.Write(btyArray,0,8000); //将缓冲区的内容写到文件流里
}
sm.Close();//关闭基础流
fsm.Close();//关闭文件流

注意哦!这里的缓冲区设成8000,没有任何的意义。你也可以自己去设置一个合适的值,当然如果不小心设成100的话,你就会体会到下载速度是14400BPS的感觉。绝对的恶搞,当初我第一次测试的时候就是这个值结果一个1MB的文件居然要8分钟。而且还是本地的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多