Wednesday, 4 January 2012

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 :-



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 {
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 {
//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);

}
}

No comments:

Post a Comment