关于如何在下载过程中截取下载过程的方法!
我用的是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分钟。而且还是本地的。 |
|
来自: COPY&PASTE > 《我的图书馆》