Skip to main content

show image in asp.net form from database

In order to show image from database to webform first add an image control in webpage.

  <asp:Image ID="imgStudentImage" runat="server" Height="157px" Width="160px" />

Then add new webform to read image from database for example displayimage.aspx
and in code behind model write the following code.

public string str = //your string
    public SqlConnection conn;
    public SqlCommand sql = new SqlCommand();
    public SqlDataReader dr;
    public string strSQL;
    protected void Page_Load(object sender, EventArgs e)
    {
        conn = new SqlConnection(str);
        conn.Open();
        long id = Convert.ToInt64(Request.QueryString["mId"]);
        strSQL = "";
        strSQL = strSQL + " SELECT snap from StudentPicture ";
        strSQL = strSQL + " WHERE IsOdl='true' and (Convert(Varchar(50),AdmissionId) = '" + id + "' or (Convert(Varchar(50),RegisterationNumber)='" + id + "'))";
        /**/
        sql = new SqlCommand(strSQL, conn);
        dr = sql.ExecuteReader(CommandBehavior.CloseConnection);
        if (dr.Read())
        {
            Response.ContentType = "image/gif";
            Response.BinaryWrite((byte[])dr["snap"]);
        }
        else
        {
            System.Drawing.Image img1 = DrawImage();
            byte[] myarray = imageToByteArray(img1);
            Response.Buffer = true;
            Response.Charset = "";
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.ContentType = "image /png";
            Response.AddHeader("content-disposition", "attachment;filename="
            + "imagenotfound.png");
            Response.BinaryWrite(myarray);
            Response.Flush();
            Response.End();
        }

        conn.Close();
    }
    public byte[] imageToByteArray(System.Drawing.Image imageIn)
    {
        MemoryStream ms = new MemoryStream();
        imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
        return ms.ToArray();
    }

    public System.Drawing.Image DrawImage()
    {
        System.Drawing.Image bitmap = new System.Drawing.Bitmap(100, 100);
        System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(bitmap);
        graphics.DrawString("No Image Found", new System.Drawing.Font("Tahoma", 10), System.Drawing.Brushes.White, new System.Drawing.PointF(0, 0));
        return bitmap;
    }



And now in pageload of webpage where image is to be shown do the following code to showimage

 imgStudentImage.ImageUrl = "DisplayImage.aspx?mId=" + idfromfrmsearchstudent;

Done !! :)

Comments

Popular posts from this blog

Export Doc,Access,Image,CSV,Excel,Pdf,XML,HTML,Text,Print of Gridview in Asp.net

First import itextsharp.dll in the solution and use three namespces (basically for pdf) using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp.text.html.simpleparser;          Then Use the following code :- on each button  click  protected void Page_Load(object sender, EventArgs e)         {             if (!Page.IsPostBack)             {                 BindGridDetails(GridView1);             }         }                 protected DataTable BindGridDetails(GridView GridView1)         {   ...

Advent of code 2022 day 22 part 1

  function main(input, input1) {     let grid = input.split( '\n' );     grid.shift();     // only in big input     for ( let i = 0 ; i < 100 ; i++) {         grid[i] = '                                                  ' + grid[i];     }     //console.log(grid[100])     grid = grid.map(x => x.split( '' ))     // find first left top allowed     let temppos = - 1 ;     grid[ 0 ].forEach((element, i) => {         if (temppos == - 1 && element == '.' ) {             temppos = i;         }     });     let initpos = new pos(temppos, 0 )     // console.log(initpos)     // make grid equal shape     let...