With the use of following code you can convert all uploaded images to thumbnail images.

To convert uploaded image to thumbnail this article provides a few steps which will be easy to follow.

Step 1:

Design a Form drag FileUpload Control from toolbox .I have Taken 10 FileUpload Control.

<table class="style3">

<tr>
<td>
</td>
<td>
</td>
<td colspan="3">
<fieldset>
<legend>Upload Multiple Photos</legend>
<div id="div1" runat="server">
<input type="file" size="65" runat="server" id="FileUpload1">
<input type="file" size="65" runat="server" id="FileUpload2">
<input type="file" size="65" runat="server" id="FileUpload3">
<input type="file" size="65" runat="server" id="FileUpload4">
<input type="file" size="65" runat="server" id="FileUpload5">
</div>
<br />
<div id="div2" runat="server" visible="false">
<input type="file" size="65" runat="server" id="FileUpload6">
<input type="file" size="65" runat="server" id="FileUpload7">
<input type="file" size="65" runat="server" id="FileUpload8">
<input type="file" size="65" runat="server" id="FileUpload9">
<input type="file" size="65" runat="server" id="FileUpload10">
</div>
<asp:Label ID="lblError1" runat="server" Text="Label"></asp:Label>
<asp:Label ID="MessageLabel" runat="server" ForeColor="Red"></asp:Label>
<br />
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click"
style="height: 26px" />
<asp:Button ID="ButtonMore" runat="server" Text="Add 10 Photos" OnClick="ButtonMore_Click" />

</fieldset>
<br />
<div id="div5" runat="server" visible="false">

</div>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>

Step 2:

On Upload button's Click event write following code…..

Directory.CreateDirectory(Server.MapPath("RealImage\\"));

div5.Visible = true;
HttpFileCollection uploadFilCol = Request.Files;

Control[] f = new Control[10]{FileUpload1,
FileUpload2,
FileUpload3,
FileUpload4,
FileUpload5,
FileUpload6,
FileUpload7,
FileUpload8,
FileUpload9,
FileUpload10 };

for (int i = 0; i < uploadFilCol.Count; i++)
{

HttpPostedFile file = uploadFilCol[i];

string fileExt = Path.GetExtension(file.FileName).ToLower();
string fileName = Path.GetFileName(file.FileName);

HtmlInputFile htmlFile = (HtmlInputFile)f[i];
if (htmlFile.PostedFile.ContentLength > 0)
{

string sFormat = String.Format("{0:#.##}", (float)htmlFile.PostedFile.ContentLength / 2048);
if (float.Parse(sFormat) < float.Parse("2048"))
{
if (htmlFile.PostedFile != null)
{
ViewState["ImageName"] = htmlFile.PostedFile.FileName.Substring(htmlFile.PostedFile.FileName.LastIndexOf("\\") + 1);//browseImagePath[0];
}
else
{
ViewState["ImageName"] = "";
}
else
{
lblError1.Visible = true;
lblError1.Text = "Image Size is Large, please resize it !!";
}
}
else
{
ViewState["ImageName"] = "";
if (ViewState["ImageName"].ToString() == "")
{
lblError1.Visible = true;
lblError1.Text = "Attach an image to upload";
}

}
MakeThumbnail(htmlFile);

}


Write Thumbnailcallback function which is returning true

public bool ThumbnailCallback()
{
return true;
}

Step 3:

On More Button's click event write following code,with the use of this code you can enable 10 file upload control ,means you can upload 10 files at a time.

protected void ButtonMore_Click(object sender, EventArgs e)
{

if (ButtonMore.Text == "Only five")
{
div2.Visible = false;
ButtonMore.Text = "Add 10 Photos";

}
else if (ButtonMore.Text == "Add 10 Photos")
{
div2.Visible = true;
ButtonMore.Text = "Only five";

}
}
}


Step 4:

Write Following Function which is use to convert high resolution image to thumbnail.

private void MakeThumbnail(HtmlInputFile htmlFile)
{
System.Drawing.Image myThumbnail150;
object obj = new object();
obj = htmlFile;
System.Drawing.Image.GetThumbnailImageAbort myCallback = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
HtmlInputFile hFile = (HtmlInputFile)obj;
if (hFile.PostedFile != null && hFile.PostedFile.ContentLength > 0)
{
//this code used to remove some symbols between image name and replace with space
string imgname1 = hFile.PostedFile.FileName.Replace('%', ' ').Substring(hFile.PostedFile.FileName.LastIndexOf("\\") + 1);
string imgname2 = imgname1.Replace('#', ' ').Substring(imgname1.LastIndexOf("\\") + 1);
string imgname3 = imgname2.Replace('@', ' ').Substring(imgname1.LastIndexOf("\\") + 1);
string imgname4 = imgname3.Replace(',', ' ').Substring(imgname1.LastIndexOf("\\") + 1);
string imgname5 = imgname4.Replace('&', ' ').Substring(imgname1.LastIndexOf("\\") + 1);

Finalimagename = imgname5.ToString();

string imgname = hFile.PostedFile.FileName.Substring(hFile.PostedFile.FileName.LastIndexOf("\\") + 1);
string sExtension = imgname.Substring(imgname.LastIndexOf(".") + 1);

//this code is used to check image extension
if (sExtension.ToLower() == "jpg" || sExtension.ToLower() == "gif" || sExtension.ToLower() == "bmp" || sExtension.ToLower() == "jpeg" || sExtension.ToLower() == "png")
{
if (!File.Exists(MapPath("RealImage\\" + Finalimagename)))
{
hFile.PostedFile.SaveAs(ResolveUrl(Server.MapPath("RealImage\\" + Finalimagename)));

System.Drawing.Image imagesize = System.Drawing.Image.FromFile(ResolveUrl(Server.MapPath("RealImage\\" + Finalimagename)));
Bitmap bitmapNew = new Bitmap(imagesize);
if (imagesize.Width < imagesize.Height)
{

myThumbnail150 = bitmapNew.GetThumbnailImage(150 * imagesize.Width / imagesize.Height, 150, myCallback, IntPtr.Zero);

}
else
{
myThumbnail150 = bitmapNew.GetThumbnailImage(150, imagesize.Height * 150 / imagesize.Width, myCallback, IntPtr.Zero);

}
//Create a new directory name ThumbnailImage
Directory.CreateDirectory(Server.MapPath("ThumbnailImage"));
//Save image in TumbnailImage folder
myThumbnail150.Save(ResolveUrl(Server.MapPath("ThumbnailImage\\")) + Finalimagename, System.Drawing.Imaging.ImageFormat.Jpeg);
MessageLabel.Text = "Successfully uploaded";

}
}
else
{
lblError1.Visible = true;
lblError1.Text = "Check image extension";
}
}
}

Step 5:

Run Your Website.

Note: Don't forget to add namespace using System.IO .