社区
C#
帖子详情
关于用HttpWebRequest下载文件的问题
pclsprest
2010-11-18 11:44:29
我想用HttpWebRequest下载web服务器上的ppt文件,(HttpWebResponse)request.GetResponse()得到的流.怎么才能还原成ppt文件呢?现在我保存出来的文件,总是打不开
...全文
790
8
打赏
收藏
关于用HttpWebRequest下载文件的问题
我想用HttpWebRequest下载web服务器上的ppt文件,(HttpWebResponse)request.GetResponse()得到的流.怎么才能还原成ppt文件呢?现在我保存出来的文件,总是打不开
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
你的青苹果
2011-07-19
打赏
举报
回复
我也用到这个东西了,麻烦问一下,你上面所说的没读取完,如何才能完整啊!
CSDN上也有示例代码:
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Stream receiveStream = myHttpWebResponse.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader( receiveStream, encode );
Console.WriteLine("\r\nResponse stream received.");
Char[] read = new Char[256];
int count = readStream.Read( read, 0, 256 );
Console.WriteLine("HTML...\r\n");
while (count > 0)
{
String str = new String(read, 0, count);
Console.Write(str);
count = readStream.Read(read, 0, 256);
}
Console.WriteLine("");
myHttpWebResponse.Close();
readStream.Close();
pclsprest
2010-11-19
打赏
举报
回复
知道错在哪里了..读取返回流的时候出错了.没读取完,呵呵
以专业开发人员为伍
2010-11-18
打赏
举报
回复
奇怪,前边少了一句话,是关于“流”概念的。
以专业开发人员为伍
2010-11-18
打赏
举报
回复
再说,不要胡乱指定GB2312,并且也不应该使用TextReader,网站只是下载一个文件内容流,也就是说文件每一个字节忠实地传递过来,你在客户端用个专门为接收字符串(并且还指定GB2312)的机制当然是画蛇添足了。如果一定要写这么多代码,那么使用 receive.Read 然后固定的buffer大小一块一块地循环下载然后写入 fs 就行了,中间跟TextReader、Encoding没有关系。
实际上调用WebClient的DownloadFile静态方法,写一句话就行了。
pclsprest
2010-11-18
打赏
举报
回复
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://192.168.0.107:82/ppt2010.rar");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
FileStream fs = new FileStream(@"D:\aaa.rar", FileMode.OpenOrCreate, FileAccess.Write);
Stream receive = response.GetResponseStream();
BinaryReader sr = new BinaryReader(receive, Encoding.GetEncoding("GB2312"));
char[] content = new char[response.ContentLength];
sr.Read(content, 0, content.Count());
BinaryWriter sw = new BinaryWriter(fs);
sw.Write(content);
fs.Flush();
fs.Close();
receive.Close();
这么做的
以专业开发人员为伍
2010-11-18
打赏
举报
回复
谁知道你是怎么做的?
pclsprest
2010-11-18
打赏
举报
回复
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://192.168.0.107:82/ppt2010.ppt");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
FileStream fs = new FileStream(@"D:\aaa.ppt", FileMode.OpenOrCreate, FileAccess.Write);
Stream receive = response.GetResponseStream();
byte[] b = new byte[response.ContentLength];
receive.Read(b, 0, b.Count());
fs.Write(b, 0, b.Count());
fs.Flush();
fs.Close();
这么也不对request.GetResponse()返回的流里边是不是还包含HTTP的什么信息?还用把它们去掉吗
pclsprest
2010-11-18
打赏
举报
回复
WebClient 这个我知道,但我要做的是在wince上跑的,net cf里边没有这个类,只能用WebRequest来做,开始我也没指定什么编码格式,直接用是StreamReader来读,不对才加上的.我先试试你说的,谢谢了
HttpWebRequest
下载
大
文件
速度变低
问题
1)
HttpWebRequest
下载
大
文件
速度变低
问题
2)Unity 2018.4.3X版本打AssetBundle慢 3)Unity 2D地图的动态修改 4)Unity 3D UGUI粒子特效裁剪的解决方案 5)Addressables LoadAssetAsync加载预设体的执行
问题
这是第259篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的
问题
,建议阅读时间10分钟,认真读完必有收获。 UWA 问答社区:answer.uwa4d.com UWA QQ群2:79397
HttpWebRequest
下载
文件
,乱码
问题
解决方案
写在前面 今天之所以会总结
HttpWebRequest
下载
文件
,主要是因为在使用该类
下载
文件
的时候,有些地方需要注意一下,在实际的项目中遇到过这种
问题
,觉得还是有必要总结一下的。在
下载
文件
时,最常见的就是
下载
的
文件
出现乱码。 一个例子 还是以前面介绍的restful接口为例吧,现在我要通过
HttpWebRequest
请求,来
下载
图片,可以这样来。 api地址为:http://localho...
HttpWebRequest
下载
文件
时无法连接主机异常
问题
最近在做一个签章功能,别的系统在签章成功后调用接口回传
文件
下载
路径,然后根据路径
下载
文件
并更新签章状态,但是
下载
文件
时总是报连接失败异常,如下图: 很莫名奇妙的异常,这个IP地址既不是请求主机的IP地址,也不是服务端主机IP地址 首先想到的是代理服务器地址,于是把请求主机上的IE浏览器代理设置给去掉,请求
下载
还是不行; 又把服务端主机上的代理去掉也不行,折磨了许久,最后想到会不会Http...
C# 使用
HttpWebRequest
下载
文件
C# 使用
HttpWebRequest
下载
文件
Unity3d C
HttpWebRequest
异步
下载
文件
Unity3d C
HttpWebRequest
异步
下载
文件
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章