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)         {   ...

im2col function in MATLAB explanation

Let us suppose we have A=[1 1;2 2] 1 1 2 2 ... ok Now img2col syntax  == im2col(A,[m n],block_type) Where block type = ('distinct','sliding') distinct places 0's in the final output,,,for padding, sliding,,repeats from the very first matrix element. after all elements read out. Now.. Now [m n] -- very important .... Number of Rows to show = M*N (if m=2 ,, n=2 then each column has 4 elements..) and Number of element fetch to repeat is M in row... That means,, OUTPUT OF THIS - im2col(A,[2 2], 'sliding') ans =      1      2      1      2 -- if  A=[1 1 1;2 2 2] A =      1     1     1      2     2     2 then im2col(A,[2 2], 'sliding') ans = contains 4 rows....as 2*2 ...   and fetch 2 elements as M=2 here... and slidin...