在工作过程中遇到了这个问题,在网上查了一些资料,结合自己的解决方法及解决过程总结了下,方面以后查阅。如果能帮到同样遇到这个问题的你,将非常高兴哦~_~

   由于asp.net中的Image控件是在System.Web.UI.WebControls命名空间中,所以不能像在winform中那样通过byte[]直接显示图片。 既然这样,就只能曲线救国了。这里的例子是这样的思路:showImage.aspx是最终用来显示文字和图片的页面,但是由于我们的图片需要曲线救国,所以这里另外建立一个pic.aspx。在pic.aspx页面中我们显示图片,而将showImage.aspx中的Image控件的url设为pic.aspx。最终我们完成了要求。

showImage.aspx的代码如下

<td height="25" align="right">照片:   </td>
<td>
<asp:Image ID="Image1" runat="server" Width="80" Height="80"/>
</td>

showImage.aspx.cs的代码如下

private string tid = null;
protected void Page_Load(object sender, EventArgs e)
{
tid = Request.Params["tid"];
this.Image1.ImageUrl = "../show/pic.aspx?tid=" + tid;
}

pic.aspx.cs的代码如下:

protected void Page_Load(object sender, EventArgs e)
{
string tid = Request.Params["tid"].ToString();
Response.BinaryWrite(getImage(id));//getImage(id)代表图片的byte[]数据,数据类型是byte[]
}

如果是通过调用cgi返回图片数据,需要将结果先转换成byte[],方法是:

string cgi = "http://……………………/img_loader.cgi?img=EF6BF9DD6CBB46E6B0524487B1EE5DBA.jpg";
System.Net.HttpWebRequest webrequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(cgi);
System.Net.HttpWebResponse webresponse = (System.Net.HttpWebResponse)webrequest.GetResponse();
byte[] b = null;
using (Stream stream = webresponse.GetResponseStream())
using (MemoryStream ms = new MemoryStream())
{
int count = ;
do
{
byte[] buf = new byte[];
count = stream.Read(buf, , );
ms.Write(buf, , count);
} while (stream.CanRead && count > );
b = ms.ToArray();
}
webresponse.Close();
Response.BinaryWrite(b);

网上很多都是这样处理的,但是会报错,因为不知道网络会传输多少长度的stream过来。

byte[] b=new byte[stream.length];
stream.Read(b,,b.length);
stream.Seek(,SeekOrigin.Begin);

如果要用本地一张图片来测试,可以用这种方式来获取图片的byte[]数据:

FileStream files = new FileStream("D:/full.png", FileMode.Open);
byte[] imgByte = new byte[files.Length];
files.Read(imgByte, , imgByte.Length);
files.Close();

在imge控件中直接显示图片(图片是byte[]格式)的更多相关文章

  1. HTMLbutton控件中文字显示一直不居中

    在写HTML时,发现HTML中button控件中文字显示一直不居中, 最后发现是在标签前出现了一个全角空格引起的. 在Emeditor中将不显示的字符(空格,全角空格,换行,制表符)设置为显示,就可以 ...

  2. wpf 保存控件中的内容为图片格式

    黄色的是wpf控件的名称! //保存到特定路径            FileStream fs = new FileStream(@"C:\image.png", FileMod ...

  3. OpenCV 2.2版本号以上显示图片到 MFC 的 Picture Control 控件中

    OpenCV 2.2 以及后面的版本号取消掉了 CvvImage.h 和CvvImage.cpp 两个文件,直接导致了苦逼的程序猿无法调用里面的显示函数来将图片显示到 MFC 的 Picture Co ...

  4. 如何在WindowsPhone Bing Map控件中显示必应中国中文地图、谷歌中国中文地图。

    原文:如何在WindowsPhone Bing Map控件中显示必应中国中文地图.谷歌中国中文地图. 最近正好有点业余时间,所以在做做各种地图.Bing Map控件本身就能显示必应地图,但是很遗憾微软 ...

  5. MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片

    版权声明:本文为博主原创文章,转载请注明CSDN博客源地址! 共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/26404733   ...

  6. [Android] 拍照、截图、保存并显示在ImageView控件中

    近期在做Android的项目,当中部分涉及到图像处理的内容.这里先讲述怎样调用Camera应用程序进行拍照,并截图和保存显示在ImageView控件中以及遇到的困难和解决方法.     PS:作者购买 ...

  7. C# WinForm中 让控件全屏显示的实现代码

    夏荣全 ( lyout(at)163.com )原文 C#中让控件全屏显示的实现代码(WinForm) 有时候需要让窗口中某一块的内容全屏显示,比如视频播放.地图等等.经过摸索,暂时发现两种可行方法, ...

  8. 在RichTextBox控件中插入图片

    . 在RichTextBox控件中插入图片 关键点 . 实现过程 .   public void ShowInsertImageDlg() {     OpenFileDialog OpenFileD ...

  9. 在RichTextBox控件中添加图片和文字

    public void SetText(RichTextBox rtb) { rtb.Text = "在RichTextBox控件中添加图片和文字" + Environment.N ...

随机推荐

  1. Webservices-2.C#创建web服务,及引用访问、代码访问

    注:web服务简介Webservices-1.web服务定义简介 以下均以C#语言为例 一.创建web服务(简单介绍,主要讨论客户端引用) 打开VS创建网站项目,在网站项目中添加“WEB服务(ASMX ...

  2. 【转】Spring注解详解

    http://blog.csdn.net/xyh820/article/details/7303330/ 概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类 ...

  3. Oracle数据库还原方法

    Win +X → 运行→cmd C:\Documents and Settings\Administrator>sqlplus /nolog SQL> connect sys/passwo ...

  4. xamarin fivechess

    网上的五子棋项目是java开发,先转为xamarin,有需要的请下载. FiveChess.7z

  5. BZOJ 3106 棋盘游戏

    Description 一个\(n \times n(n \le 2)\)棋盘上有黑白棋子各一枚.游戏者A和B轮流移动棋子,A先走. A的移动规则:只能移动白棋子.可以往上下左右四个方向之一移动一格. ...

  6. Swordfish

    zoj1203:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1203 题意:给定平面上N个城市的位置,计算连接这N个城市所 ...

  7. 在 C++Builder 工程里使用 Visual C++ DLL(3个工具) good

    译者序: 第一次读这篇文章是在 2001 年 10 月,帮我解决了一点小问题.本来不好意思翻译,因为英语水平实在太差.最近发现不少网友在问在 C++Builder 的工程里调用 Visual C++  ...

  8. bzoj2006

    论将区间和转化为前缀和的重要性这题一旦转化为前缀和就非常明了了一段区间[l,r]的美妙程度就等于s[r]-s[l-1]对于这种无法计算出所有方案而取前k大的题目,我们一般分类别然后利用类别内的单调性用 ...

  9. Poetize4 创世纪

    3037: 创世纪 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 123  Solved: 66[Submit][Status] Description ...

  10. 数据结构(线段树):SPOJ GSS3 - Can you answer these queries III

    GSS3 - Can you answer these queries III You are given a sequence A of N (N <= 50000) integers bet ...