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

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

showImage.aspx的代码如下

照片:

showImage.aspx.cs的代码如下

private string tid = null;protected void Page_Load(objectsender, EventArgs e)

{

tid= Request.Params["tid"];this.Image1.ImageUrl = "../show/pic.aspx?tid=" +tid;

}

pic.aspx.cs的代码如下:

protected void Page_Load(objectsender, 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 = newMemoryStream())

{int count = 0;do{byte[] buf = new byte[1024];

count= stream.Read(buf, 0, 1024);

ms.Write(buf,0, count);

}while (stream.CanRead && count > 0);

b=ms.ToArray();

}

webresponse.Close();

Response.BinaryWrite(b);

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

byte[] b=new byte[stream.length];

stream.Read(b,0,b.length);

stream.Seek(0,SeekOrigin.Begin);

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

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

files.Read(imgByte,0, imgByte.Length);

files.Close();

java byte 图片浏览器直接显示_在imge控件中直接显示图片(图片是byte[]格式)相关推荐

  1. pb调用计算机默认游览器,PB打开ole控件IE浏览器版本问题_指定Webbrowser控件所用IE内核版本(转)...

    如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe 对于32位 ...

  2. wpf加载上千张图片部分图片不显示_开源WPF控件库MaterialDesignInXAML推荐

    (给DotNet加星标,提升.Net技能) 转自:沙漠之狐耶dotnet9.com/?p=2180 前言 介绍一个开源的C# WPF开源控件库,非常漂亮,重点是开源哦 WPF做桌面开发是很有优势的,除 ...

  3. 在MFC的picture控件中如何显示Mat图

    首先,要进行输入检查,看Mat数据是否是有效的,如下图中所示 定义位图数据结构,用以方便在图形设备接口(GraphicsDeviceInterface)上显示,也就是windows上的GDI 开发内存 ...

  4. outlook日历不显示_如何在Outlook Online中突出显示不同的日历

    outlook日历不显示 If you've ever displayed multiple calendars in one view in Outlook Online, you'll know ...

  5. matlab 表格控件,[转载]matlab读取excel数据并显示在excel(activex控件)中

    figure; spreadsheet = actxcontrol('OWC11.Spreadsheet.11',[0 0 560 420]); M = {'abc', 123; 12.17, log ...

  6. matlab在activex中读取视频,[转载]matlab读取excel数据并显示在excel(activex控件)中

    figure; spreadsheet = actxcontrol('OWC11.Spreadsheet.11',[0 0 560 420]); M = {'abc', 123; 12.17, log ...

  7. C#+AE 调整TOCControl控件中图层的显示顺序

    基本思路如下:利用鼠标左键将需要调整顺序的图层移动至目标位置. ①需要涉及到TOCControl的OnMouseDown事件来获取要调整的图层, ②OnMouseUp事件获得目标图层和索引号, ③再利 ...

  8. 用image控件不能正常显示Sql server2000数据库中的图片

    用image控件不能正常显示Sql server2000数据库中的图片 Delphi / Windows SDK/API http://www.delphi2007.net/DelphiMultime ...

  9. Qt 实现QT控件中的QLabel显示图片并自适应显示

    一.需求 实现QT控件中的QLabel显示图片,并自适应显示. 二.代码 QImage Image; Image.load(":/image/image/logo.jpg"); Q ...

最新文章

  1. 2015年12月流量入口占比动态:仅直接访问实现上涨
  2. MYSQL 练习题
  3. 人像摄影哪家强?同为双摄的OPPO R11不敌金立S10
  4. python+PyQT+Eric安装配置
  5. 博达3956交换机配置手册_网络设备维保浅谈之交换机维保
  6. 说明多级指针与动态变量,静态变量关系的几个简单程序
  7. 金刚爸爸是这么教育金刚儿子的
  8. get_posts 函数 | wordpress
  9. STP根交换机,指定端口,根端口,阻塞端口
  10. axure 坐标扩散效果
  11. MicroSIP软电话安装配置说明
  12. cat5e跑万兆_cat5e网线支持千兆吗?
  13. 关于Y400 电源管理 Win10解决方案
  14. springboot借助sftp将文件上传到远端的nginx服务器中,然后将文件路径存进数据库
  15. 【冬瓜哥手绘】致敬龙芯!冬瓜哥手工设计了一个CPU译码器!
  16. 识别各种安全设备及当今体现形态-区别UTM与NGFW
  17. 系统登录页面短信验证码方式登录实现
  18. Linux下convert批处理的命令及其与Windows下nconvert的区别与联系
  19. python子图标题_python, 如何在subplot在总的图画上面加title?
  20. Python中 *args,**args的详细用法

热门文章

  1. android textview adapter,Android在FragmentPagerAdapter中的Fragment中设置TextView文本
  2. mysql5.7 存储二进制_MySQL5.7 基于二进制包的安装
  3. JNDI学习总结(一)——JNDI数据源的配置(转)
  4. IDC带宽测试几款软件(Multiping pingPlotter TracertGUI )
  5. socket:通常每个套接字地址(协议/网络地址/端口)只允许使用一次
  6. Coding List
  7. 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题...
  8. JavaScript菜鸽子基础知识总结(一)
  9. 关于计算Java程序运行时间
  10. Cisco职业认证再认证体系及程序问答