MemoryStream stream = new MemoryStream();
        SqlConnection conn = new SqlConnection(@"server=.;database=Test;Integrated Security=SSPI;");
        try
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("select top 1 Picture from Image", conn);
            byte[] photo = (byte[])cmd.ExecuteScalar();
            stream.Write(photo, 0, photo.Length);
            //这下面要怎么写
            
        }
        catch
        {
            return;
        }
在web程序中我把数据库中的图像(二进制)读取出来,想在Image控件上显示,请问要如何写代码,

解决方案 »

  1.   


                conn.Open();
                SqlCommand cmd = new SqlCommand("select top 1 Picture from Image", conn);
                byte[] photo = (byte[])cmd.ExecuteScalar();
                stream.Write(photo, 0, photo.Length);
                Image控件对象.Image = Image.FromStream(stream);
      

  2.   

    Image控件对象没有 .image这项,只有.imageUrl
      

  3.   

     Image控件对象.Image = Image.FromStream(stream);
      

  4.   

    我帮你在看一下,我刚才写的是CS的Image控件,我以为类似呢.
      

  5.   

    建一个aspx文件,假如叫image.aspx在Load方法里面写
     
            SqlConnection conn = new SqlConnection(@"server=.;database=Test;Integrated Security=SSPI;");
            try
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand("select top 1 Picture from Image", conn);
                HttpResponse.BinaryWrite((byte[])cmd.ExecuteScalar());
                
            }
            catch
            {
            }再设置你的Image控件Url为image.aspx
      

  6.   

    image.Src = "pic.aspx" ;
    pic.aspx是另一页页,代码如下:
          MemoryStream stream = new MemoryStream();
            SqlConnection conn = new SqlConnection(@"server=.;database=Test;Integrated Security=SSPI;");
            try
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand("select top 1 Picture from Image", conn);
                byte[] photo = (byte[])cmd.ExecuteScalar();
                Response.ContentType = "image/pjepg";
                Response.OutputStream.Write(photo , 0, photo .Length);
                Response.End();            
            }
            catch
            {
                return;
            }
      

  7.   

    编译的时候报错了,
    错误 1
    非静态的字段、方法或属性“System.Web.HttpResponse.BinaryWrite(byte[])”要求对象引用 F:\asp程序\保存上传图片\image.aspx.cs 23 13 F:\asp程序\保存上传图片\
      

  8.   

    参考
    http://www.cnblogs.com/wfyfngu/archive/2008/10/09/1307390.html
      

  9.   

    顶!!很简洁!!
    将HttpResponse改成Response就OK!!
      

  10.   

    我晕,没有调试,但是把HttpResponse改成Response就可以了啊