登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

vincent

随笔小札

 
 
 

日志

 
 

二进制数据转成页面图片显示的方法  

2011-03-22 17:00:08|  分类: asp.net |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1、先建一个页面StreamImage.aspx页面,此页面什么控件都没有;干净的像验证码页面 后台写如下代码:

 protected void Page_Load(object sender, EventArgs e)
    {
        if(Request.QueryString["jid"]!=null){
            string sql = "select * from TGoods where jid="+Convert.ToInt32(Request.QueryString["jid"].ToString());
            SqlDataReader dr = DBSql.GetReader(sql);
            if(dr.Read()){
                byte[] bytes = (byte[])dr["jphoto"];

                MemoryStream ms = new MemoryStream(bytes);
                System.Drawing.Image image = System.Drawing.Image.FromStream(ms);
                Response.ContentType = "image/JPEG";
                Response.BinaryWrite(bytes);
            }
            dr.Close();
        }
    }

2、如果你是Repeater控件绑定读取数据,那么在你的Repeater控件中放入一个Image控件。

在Repeater的ItemDataBound后台页面代码如下:

   protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {

           //找出刚才在Repeater控件中放入的Image控件,设置其图片URL来自StreamImage.aspx页面
            Image img = e.Item.FindControl("imgStream") as Image;
            img.ImageUrl = "~/Wp_WorkTable/StreamImage.aspx?jid=" + ((DataRowView)e.Item.DataItem)["jgoodsid"];
        }
    }

 以上2步就可以做到 让二进制数据在页面显示图片

  评论这张
 
阅读(2783)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018