GridView显示数据库图片与加入图片代码

 处理程序代码
<% @ WebHandler Language = " C# "  Class = " GetImg "   %>

using  System;
using  System.Web;
using  System.Data;
using  System.Data.SqlClient;
using  System.Drawing;
using  System.Drawing.Imaging;
using  System.IO;
using  System.Configuration;


/// 
/// GetImg 的摘要说明。
/// 

public   class  GetImg : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string id = (string)context.Request["id"];

if (id != null)
{

   
    MemoryStream stream 
= new MemoryStream();
SqlConnection conn 
= new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString);
Bitmap bm 
= null;
Image image 
= null;
try
{
conn.Open();
SqlCommand cmd 
= new SqlCommand("select pic from image where id='" + id + "'", conn);
byte[] blob = (byte[])cmd.ExecuteScalar();
stream.Write(blob, 
0, blob.Length);
bm 
= new Bitmap(stream);

int width = 58;
int height = (int)(width * ((double)bm.Height / (double)bm.Width));
// GetThumbnailImage生成缩略图
image = bm.GetThumbnailImage(width, height, null, IntPtr.Zero);

context.Response.ContentType 
= "image/jpeg";

image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
}

finally
{
if (image != null)
image.Dispose();
if (bm != null)
bm.Dispose();
stream.Close();
conn.Close();
}

}

}


// 实现成员接口(System.Web.IHttpHandler.IsReusable)
public bool IsReusable
{
get
{
return true;
}

}

}

 

加入图片到数据库,首先用VS建立存储过程

 

protected   void  Button2_Click( object  sender, EventArgs e)
    
{
        FileStream fs 
= File.OpenRead(TextFile.Text);
        
byte[] imageb = new byte[fs.Length];
        fs.Read(imageb, 
0, imageb.Length);
        fs.Close();
        DataSet1TableAdapters.imageTableAdapter add 
= new DataSet1TableAdapters.imageTableAdapter();
        add.Insert(textName.Text, imageb);
        Response.Write(
"加入成功");
    }

 

页面上绑定代码

 

< ItemTemplate >
                            
< asp:Image ID = " Image1 "  runat = " server "  ImageUrl = ' <%# "GetImg.ashx?ID=" + Eval("ID") %> '   />
                        
ItemTemplate >

你可能感兴趣的:(GridView显示数据库图片与加入图片代码)