CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

想用HttpWebResponse作http下载程序,但是发现下载数据会出错,设定中断就没错,为什么?

楼主Winston1977(Winston)2004-07-01 19:12:49 在 .NET技术 / C# 提问

System.IO.FileStream   fs   =   new   System.IO.FileStream(System.Windows.Forms.Application.StartupPath+"\\temp\\"+FileName,System.IO.FileMode.Create);  
                          System.Net.HttpWebRequest   r   =   (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("http://"+Uri);  
  System.Net.HttpWebResponse   rs   =   (System.Net.HttpWebResponse)r.GetResponse();  
  long   len   =   rs.ContentLength   ;  
  long   times   =   len   /1024;//每次下载1K,下载的次数  
  long   mod   =   len   %1024;//最后一次下载字节数  
  System.IO.Stream   s   =   rs.GetResponseStream();  
  for(long   i=0;i<times;i++)  
  {  
  byte[]   byt=new   byte[1024];  
  s.Read(byt,0,1024);  
  //System.Threading.Thread.Sleep(1);  
  System.Diagnostics.Debug.Write(System.Text.ASCIIEncoding.ASCII.GetString(byt));  
  fs.Write(byt,0,1024);  
  this.pbarDownload.BarValue   =   System.Convert.ToInt32(i*102400   /   len);  
  this.downloadsize   +=   1024;  
  this.pbarTotal.BarValue   =   System.Convert.ToInt32(downloadsize*100/totalsize);  
  }  
  byte[]   bytmod   =   new   byte[mod];  
  s.Read(bytmod,0,(int)mod);  
  System.Diagnostics.Debug.Write(System.Text.ASCIIEncoding.ASCII.GetString(bytmod));  
  fs.Write(bytmod,0,(int)mod);  
  this.downloadsize   +=mod;  
  this.pbarDownload.BarValue   =   100;  
  this.pbarTotal.BarValue   =   System.Convert.ToInt32(downloadsize*100/totalsize);  
  fs.Close();  
  rs.Close();  
   
  在for语句中设定中断,数据就不会出错,如果不设定,有时候会传很多的0x00过来,如果用localhost下载就没问题,用远程Web服务器就有问题,奇怪的很,到底为什么,怎么解决呢? 问题点数:0、回复次数:4Top

1 楼Winston1977(Winston)回复于 2004-07-02 09:35:48 得分 0

upTop

2 楼Server_Transfer(系统崩溃,边重装边上网)回复于 2004-11-04 14:32:47 得分 0

给分了Top

3 楼xiaoslong(龙哥)回复于 2004-11-04 15:03:29 得分 0

帮你顶一下  
  Top

4 楼CodeBunny(新年_新ID_新公司_新的开始)回复于 2005-01-04 17:02:46 得分 0

问题是不是出在WebResponse的响应时间上?它不象WebClinet那样,不用执行完就可以执行下面的语句的Top

相关问题

  • ftp下载出错
  • 请问编译下载的mysql出错?
  • jspSmart组件下载时出错!
  • tomcat网站,下载出错?(在线等)
  • 下载出错,谁有没有遇到过这个问题
  • 在CSDN上下载的StringGridEX的dpk,安装出错??
  • Kevin_qing()请进,FTP下载EXE等非文本文件出错
  • 用FTP下载大于4G的文件出错!
  • j2me程序下载到手机上时,出错!为什么?
  • 调试下载的php论坛,为什么总是出错

关键词

  • .net
  • 下载
  • httpwebresponse
  • httpwebrequest
  • filestream
  • io
  • len
  • rs
  • long
  • create

得分解答快速导航

  • 帖主:Winston1977

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo