C#如何实现获取http的图片用二进制图片流的方式页面展示出来
我写了一段代码,不过没有成功,希望帮忙看看,是页面加载的时候触发的。varreq=WebRequest.Create("http://www.baidu.com/img/...
我写了一段代码,不过没有成功,希望帮忙看看,是页面加载的时候触发的。
var req = WebRequest.Create("http://www.baidu.com/img/bdlogo.png") as HttpWebRequest;
req.Timeout = 100000;
var ms = new MemoryStream();
using (WebResponse resp = req.GetResponse())
{
var stream = resp.GetResponseStream();
int k = 1024;
var buff = new byte[k];
while (k > 0)
{
k = stream.Read(buff, 0, 1024);
ms.Write(buff, 0, k);
}
ms.Flush();
ms.Seek(0L, SeekOrigin.Begin);//把指针移动到流的开头
}
//Bitmap img = new Bitmap(ms);//你要的图像
byte[] bimg = ms.ToArray();//内存流实际就是封装好的字节数组
Response.ClearContent();
Response.ContentType = "image/png";//那个图片是png格式
Response.OutputStream.Write(bimg, 0, bimg.Length);
Response.End(); 展开
var req = WebRequest.Create("http://www.baidu.com/img/bdlogo.png") as HttpWebRequest;
req.Timeout = 100000;
var ms = new MemoryStream();
using (WebResponse resp = req.GetResponse())
{
var stream = resp.GetResponseStream();
int k = 1024;
var buff = new byte[k];
while (k > 0)
{
k = stream.Read(buff, 0, 1024);
ms.Write(buff, 0, k);
}
ms.Flush();
ms.Seek(0L, SeekOrigin.Begin);//把指针移动到流的开头
}
//Bitmap img = new Bitmap(ms);//你要的图像
byte[] bimg = ms.ToArray();//内存流实际就是封装好的字节数组
Response.ClearContent();
Response.ContentType = "image/png";//那个图片是png格式
Response.OutputStream.Write(bimg, 0, bimg.Length);
Response.End(); 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
这个代码没问题,能正常显示,你那里不显示有提示什么原因吗?要不你先获取这个图片以后 存到本地,然后再显示,看看是那个环节有问题
追问
我这里是把代码放在一个 images.aspx页面加载的时候出来显示都是乱码。我就是不想保存图片在本地。想直接通过获取http,用图片流的方式展示出来。
追答
我的意思是通过这样的方式来判断具体是哪个环节出了问题。你从网上读出这个图片是没有问题的,而且在本页面输出这个图片,也没问题。那就是你把这个图片输出到你images.aspx的时候出问题了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询