Saturday, September 24

How to upload an image using ASP.NET

Introduction

This article is for freshers who want to learn how to upload images.

Step 1

First add the following HTML tag :-
<input id="Upload" style="Z-INDEX: 102; LEFT: 104px; WIDTH: 288px; 
  POSITION: absolute; TOP: 64px; HEIGHT: 22px" type="file" 
  size="28" name="Upload" runat="server"> 
This control will upload your image.

Step 2

Create a Button called "Upload" and another called "LoadImage".  Add the DataGrid and do required bindings.

Step 3

Lets see some sample code now.
private void Button1_Click(object sender, System.EventArgs e)
    {
        //It verifies if the archive exists 

        if (Upload.PostedFile != null)
        {
            //To create a PostedFile

            HttpPostedFile File = Upload.PostedFile;

            //Create byte Array with file len

            byte[] Data = new Byte[File.ContentLength];
            //force the control to load data in array

            File.InputStream.Read(Data,0,File.ContentLength);
                
            int i = 0;

            //Dysplay array data in textbox

            for (i=0;i<Data.Length;i++)
            {
                TextBox1.Text += Data[i].ToString();  
            }

            //Create procedure parameter

            object[] obj = new object[1]; 

            obj[0] = Data;

            //Execute the procedure with Microsoft.ApplicationBlocks.Data

            //Simple procedure

            /*CREATE PROCEDURE sp_img(@img image)  AS

            insert into tb_img values(@img)*/

            //record data

            SqlHelper.ExecuteNonQuery(connectionString,"sp_img",obj);       

        }
    }

    private void Button2_Click(object sender, System.EventArgs e)
    {
        //Bind data to your grid

        //more details consulting

        //Working DataGrid TemplateColumns and Bind this Columns 

        DataSet ds = SqlHelper.ExecuteDataset(connectionString,
            "sp_load_img",null);
        grid.DataSource  = ds.Tables[0].DefaultView;
        grid.ObjectName = "Image1";
        grid.FieldName = "img";
        grid.Editable = false;
        grid.DataBind();
        grid.DataBindObjects(grid,ds,0,grid.PageSize);  

        int i =0;

        for (i=0;i<ds.Tables[0].Rows.Count;i++)
        {
                        //test your bitmap is valid 

                        //Demonstration

            byte[] bits = (byte[]) ds.Tables[0].Rows[i]
                ["img"];  
            MemoryStream memorybits = new MemoryStream(bits);
            Bitmap bitmap = new Bitmap(memorybits);
        }

 
    }

    private void grid_PageIndexChanged(object source, 
           System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
        //Page your grid

        //Bind data to your grid

        //more details consulting

        //Working DataGrid TemplateColumns and Bind this Columns 

        grid.CurrentPageIndex =e.NewPageIndex; 
        DataSet ds = SqlHelper.ExecuteDataset(connectionString,
            "sp_load_img",null);
        grid.DataSource  = ds.Tables[0].DefaultView;
        grid.ObjectName = "Image1";
        grid.FieldName = "img";
        grid.Editable = false;
        grid.DataBind();
        grid.DataBindObjects(grid,ds,e.NewPageIndex,grid.PageSize);  
        
    }
}

1 comment:

Please don't spam, spam comments is not allowed here.

ShibashishMnty
shibashish mohanty