Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Storing And Displaying Image From Database

0.00/5 (No votes)
16 Aug 2007 1  
This article describe how to add image directly to database and how to view the Image stored from Database.

Introduction

Actually it is not good to store Image file into Database But some time it is necessary to store it. Here I am giving solution to storing and displaying Image to Database.

Using the code

This will help you to storing and Displaying Image to Database -here Sql Server 2005.

First of all create page named AddEmployee.aspx and add repeater to it shown in source file.

The main idea is that: I am storing Image files into database directly into Binary Format. So storing it first convert it into Binary:

            SqlParameter prmFName = new SqlParameter("@_FName", txtFName.Text.Trim());
            cmdAddEmp.Parameters.Add(prmFName);
            SqlParameter prmLName = new SqlParameter("@_LName", txtLName.Text.Trim());
            cmdAddEmp.Parameters.Add(prmLName);
            int len = FIleUP.PostedFile.ContentLength;
            byte[] img = new byte[len];
            FIleUP.PostedFile.InputStream.Read(img, 0, len);
            SqlParameter prmImg = new SqlParameter("@_Image", img);
            cmdAddEmp.Parameters.Add(prmImg);
            int Status = cmdAddEmp.ExecuteNonQuery();  

Now at Image viewing time:

      <td id="tdImage" runat="server">
          <asp:Image ID="img" runat="server" AlternateText='<%# Eval("FirstName") %>' ImageUrl='<%# "~/displayimage.aspx?ID="  + DataBinder.Eval(Container.DataItem,"Id") %>'  Width="50px" Height="50px"/>
      </td>

At the DisplayImage.aspx Page:

            cmdAddEmp.CommandText = "GetImage";
            cmdAddEmp.CommandType = CommandType.StoredProcedure;
            SqlParameter prmId = new SqlParameter("@_Id", Convert.ToInt32(Request.QueryString["Id"].ToString()));
            cmdAddEmp.Parameters.Add(prmId);
            byte[] byteImg = (byte[])cmdAddEmp.ExecuteScalar();
            Response.BinaryWrite(byteImg); 

Response.BinaryWrite(byteImg) writes binary content of the Image and display Image.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here