怎样使用Asp.net 2.0从SQL Server 中读取图像?

解决方案 »

  1.   

    http://www.cnblogs.com/pipisong/archive/2005/03/28/127120.aspx使用C#从数据库读取图像二进制流的代码
      

  2.   

    读出来的二进制流放到什么控件中,asp.net 2.0有pictureBox控间吗?
    我要把图片从 Resonse.Write();中输出,怎么写?
      

  3.   

    读出来的二进制流放到什么控件中,asp.net 2.0有pictureBox控间吗?
    我要把图片从 Resonse.Write();中输出,怎么写?
      

  4.   

    string connString = "Data Source=Database;database=image;uid=sa;pwd=sa";
            string cmdstr = "select * from image where imageID = @imageID";
            SqlConnection conn = new SqlConnection(connString);//初始化数据库连接
            SqlCommand cmd = new SqlCommand(cmdstr,conn);        cmd.Parameters.Add("@imageID",SqlDbType.Int).Value = imageid;
            conn.Open();
            SqlDataReader sdr = cmd.ExecuteReader();
            sdr.Read();
            Response.OutputStream.Write((byte[])sdr["image_data"], 0, (int)sdr["image_size"]); 
            Response.End();
            sdr.Close();
            conn.Close();
      

  5.   

    转换类似如下
    byte[] barrImage = (byte[])dsRtIcon.Tables[0].Rows[i]["imgpic"];
                            ImageConverter imgcon = new ImageConverter();
                            Image FinalImage = (Image)imgcon.ConvertFrom(barrImage);
                            ((DataGridViewImageCell)DgvRemoteIcon.Rows[i].Cells[1]).Value = FinalImage;
      

  6.   

    我的程序如下:在一个地方我想用Response.Write输出图片
    SqlConnection strConnection = new SqlConnection("Data Source=LIN-850538EB1FB;Initial Catalog=exp;Integrated Security=True");
            strConnection.Open();
            SqlCommand Command = new SqlCommand("select * from abc", strConnection);        SqlDataReader reader = Command.ExecuteReader();        byte[] barrImage;
            ImageConverter imgcon = new ImageConverter();
            Image FinalImage;        while (reader.Read())
            {            Response.Write(reader[0]+"<br>");
                //Response.OutputStream.Write((byte[])reader[1], 0, 10);
                barrImage = (byte[])reader[1];
                FinalImage = (Image)imgcon.ConvertFrom(barrImage);
                //在这输出图片 Response.Write("");怎么写?
            }        Response.End();
            strConnection.Close();
        }
      

  7.   

    Response.BinaryWrite((Byte[])reader[1]); 
    render[1]是image类型的,能在网页中显示图像马?
      

  8.   

    我试了..,不能.,.
    因为FinalImage 转出来属于位图数据
    只能将其保存文件

    FinalImage.Save("c:\\kk.gif");
    此文件即可查看.,.
      

  9.   

    Image FinalImage = (Image)imgcon.ConvertFrom(barrImage);
    Image需要包含哪个名字空间;
    还有一个:
    Response.BinaryWrite((Byte[])reader[1]); 
    render[1]是image类型的,能在网页中显示图像马?
      

  10.   

    是了.,.,
    我原先的那个是在winform里操作图片的
    名命空间是System.Drawing;
    我问你一个问题..你将图片保存到数据库是怎么操作的..,
    即你将图片转换成二进制,.,
    因为我的转换都是在winform里做的.,.,
    可能有些东西不同.,.,
    如果在System.Web.UI.WebControls.Image中
    则没有Save方法.,.,.,
      

  11.   

    byte[] barrImage = (byte[])ds.Tables[0].Rows[i]["imgpic"];
    Response.BinaryWrite(barrImage);
    这样可以输出图片
      

  12.   

    try,
    Response.ContentType="image/jpeg";(根据实际情况,可能是="image/bmp".....)
    Response.BinaryWrite((Byte[])reader[1]);
      

  13.   

    有个新的问题,我的代码如下:
    while (reader.Read())
            {
                Response.ContentType = "text/html";
                Response.Write(reader[0]+"<br>");
                
                Response.ContentType = "image/bmp";
                Response.BinaryWrite((Byte[])reader[1]);        }
    这样好像有问题,<br>怎么不是作为换行符,而是作为字符串输出到页面了,怎么解决?
      

  14.   

    在学校上不去哪个网站
    while (reader.Read())
            {
                Response.ContentType = "text/html";
                Response.Write(reader[0]+"<br/>");
                
                Response.ContentType = "image/bmp";
                Response.BinaryWrite((Byte[])reader[1]);        }
    这样好像有问题,<br/>怎么不是作为换行符,而是作为字符串输出到页面了,怎么解决?
      

  15.   

    不会作为字符串输出啊
    可能由于写在一起的问题
    你将其写成两句
      Response.Write(reader[0]+"<br/>");===>
      Response.Write(reader[0]);
      Response.Write("<br/>");