How to show Binary image in Grid View in Asp.net
i have table like
sno name image
1 asv 12345aghjjuyttr1bhhjjjjjjj
2 raju 56juiopkjhjghgbjjjjghgffgghh
but iwant output like display binary format convert image and detais in gridview using csharp
plz write csharp code
Loading
Abhay ShankerPosted Mar 25, 2014, 9:02 AM
http://www.aspsnippets.com/articles/display-images-from-sql-server-database-in-asp.net-gridview-control.aspx
Munesh SharmaPosted Mar 25, 2014, 8:38 AM
Hey, you can deal with the problem with HttpHandler (This is a simple demo to teach you how to read and write image field type into db):
(From Chinese CSDN:http://blog.csdn.net/rao3281/archive/2009/09/28/4604931.aspx)
%>'/>
<asp:FileUpload ID="fuImage" runat="server" /><br />
<asp:TextBox ID="txtImageName" runat="server"/><br />
<asp:Button ID="btnUpload" runat="server"
OnClick="btnUpload_Click" Text="Upload" />
In the web.config:
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|\Image.mdf;Integrated Security=True;
User Instance=True" providerName="System.Data.SqlClient"/>
protected void btnUpload_Click(object sender, EventArgs e)
{
Stream imgStream = fuImage.PostedFile.InputStream;
int imgLen = fuImage.PostedFile.ContentLength;
string imgName = txtImageName.Text;
byte[] imgBinaryData = new byte[imgLen];
int n = imgStream.Read(imgBinaryData,0,imgLen);
//use the web.config to store the connection string
SqlConnection connection = new SqlConnection(ConfigurationManager.
ConnectionStrings["connectionString"].ConnectionString);
SqlCommand command = new SqlCommand(
"INSERT INTO Image (imagename,image)
VALUES ( @img_name, @img_data)", connection);
SqlParameter param0 = new SqlParameter(
"@img_name",SqlDbType.VarChar, 50);
param0.Value = imgName;
command.Parameters.Add(param0);
SqlParameter param1 = new SqlParameter(
"@img_data", SqlDbType.Image);
param1.Value = imgBinaryData;
command.Parameters.Add(param1);
connection.Open();
int numRowsAffected = command.ExecuteNonQuery();
connection.Close();
}
public class ImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string imageid = context.Request.QueryString["ImID"];
SqlConnection connection =
new SqlConnection(System.Configuration.ConfigurationManager.
ConnectionStrings["connectionString"].ConnectionString);
connection.Open();
SqlCommand command = new SqlCommand(
"select Image from Image where ImageID=" + imageid,
connection);
SqlDataReader dr = command.ExecuteReader();
if (dr.Read()) { if (!(dr[0]is DBNull)) { context.Response.BinaryWrite((Byte[])dr[0]); connection.Close(); context.Response.End(); } } } public bool IsReusable { get { return false; } }
In the page_Load event:
SqlConnection connection = new SqlConnection(ConfigurationManager.
ConnectionStrings["connectionString"].ConnectionString);
SqlCommand command = new SqlCommand("SELECT imagename,ImageID
from [Image]", connection);
SqlDataAdapter ada = new SqlDataAdapter(command);
DataTable dt = new DataTable();
ada.Fill(dt);
gvImages.DataSource = dt;
gvImages.DataBind();