Stream 长度问题

jeff_hua 2009-12-26 07:51:33

http://topic.csdn.net/u/20091221/09/63662f0e-87fd-49ec-a1f8-8f229189f12f.html

System.Net.WebRequest request = WebRequest.Create("http://xxx.xxx/prog1.exe");
request.Credentials = CredentialCache.DefaultCredentials;
System.Net.HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();

想得到 dataStream 长度 用于做滚动条 复制时候显示
dataStream.Length 无法使用,得到一个不支持的错误
...全文
236 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeff_hua 2009-12-28
  • 打赏
  • 举报
回复
各位 大侠 帮忙啊,还没解决呢
jeff_hua 2009-12-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 much0726 的回复:]
dataStream.Length 可以使用啊,获得字节的长度。
是不是网络的原因,没有获取完全的数据哦。
[/Quote]

不是的 ,如果我不用dataStream.Length ,我已经拿到了返回的内容而且也成功写入文件,也就是说我已经成功下载到了远程的文件。
但是我想做个滚动条,目前就卡壳在取不到 远程文件的长度
jeff_hua 2009-12-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zengfanxing 的回复:]
byte[] SomeBytes = null;
SomeBytes = Encoding.Default.GetBytes(UrlEncoded.ToString());
请求.ContentLength = SomeBytes.Length;
Stream newStream = 请求.GetRequestStream();
newStream.Write(SomeBytes, 0, SomeBytes.Length);
newStream.Close();
[/Quote]

请求.ContentLength = SomeBytes.Length
这里的 Length 不是 我请求数据的长度啊 ,而是返回了我URL请求的的字符数的长度,完全不对了
比如 http://www.123.com/a.zip 长度=24 。但是我要的是 a.zip 的文件的大小。
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zengfanxing 的回复:]
byte[] SomeBytes = null;
SomeBytes = Encoding.Default.GetBytes(UrlEncoded.ToString());
请求.ContentLength = SomeBytes.Length;
Stream newStream = 请求.GetRequestStream();
newStream.Write(SomeBytes, 0, SomeBytes.Length);
newStream.Close();
[/Quote]

人家问的是服务器返回的数据流
你写的是向服务器发送数据
much0726 2009-12-26
  • 打赏
  • 举报
回复
dataStream.Length 可以使用啊,获得字节的长度。
是不是网络的原因,没有获取完全的数据哦。
jeff_hua 2009-12-26
  • 打赏
  • 举报
回复
好啊 ,有道理 ,我周一试试 ,可以周一回公司给你结贴 ,我的 WInCE 设备在公司 ,这里没有
另外 我的WINCE 论坛里还有一个 ,你也去补一个 分数就一起给你了
  • 打赏
  • 举报
回复
没理解
红街咖啡 2009-12-26
  • 打赏
  • 举报
回复
byte[] SomeBytes = null;
SomeBytes = Encoding.Default.GetBytes(UrlEncoded.ToString());
请求.ContentLength = SomeBytes.Length;
Stream newStream = 请求.GetRequestStream();
newStream.Write(SomeBytes, 0, SomeBytes.Length);
newStream.Close();
jeff_hua 2009-12-26
  • 打赏
  • 举报
回复
你是说长度在里面包含了?
  • 打赏
  • 举报
回复
贴出你的dataStream前100个字节数据来,自己看看!

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧