code for resize image in ASP.NET while uploading an image
public bool SaveThumbnailImage(System.Web.UI.WebControls.FileUpload fu, string FullSavePath, int HeightMax, int WidthMax)
{
try
{
if (fu.HasFile)
{
string tmpSaveDir = pg.Server.MapPath("~/TempUploads/");
if (System.IO.Directory.Exists(tmpSaveDir) == false)
{
System.IO.Directory.CreateDirectory(tmpSaveDir);
}
string tmpSavePath = pg.Server.MapPath("~/TempUploads/" + fu.FileName);
if (System.IO.File.Exists(tmpSavePath))
{
try
{
System.IO.File.Delete(tmpSavePath);
}
catch
{
}
}
fu.SaveAs(tmpSavePath);
System.Drawing.Image img = System.Drawing.Image.FromFile(tmpSavePath);
double ratioWidth = (double)img.Width / (double)WidthMax;
double ratioHeight = (double)img.Height / (double)HeightMax;
double ratio = Math.Max(ratioHeight, ratioWidth);
int newWidth = (int)(img.Width / ratio);
int newHeight = (int)(img.Height / ratio);
System.Drawing.Image thub = img.GetThumbnailImage(newWidth, newHeight, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
if (System.IO.File.Exists(FullSavePath))
{
try
{
System.IO.File.Delete(FullSavePath);
}
catch
{
}
}
thub.Save(FullSavePath, System.Drawing.Imaging.ImageFormat.Png);
thub.Dispose();
img.Dispose();
if (System.IO.File.Exists(tmpSavePath))
{
try
{
System.IO.File.Delete(tmpSavePath);
}
catch
{
}
}
setError(false, string.Empty);
return true
; }
else
{
setError(true, "No file input found.");
return false;
}
}
catch (Exception ex)
{
setError(true, ex.Message);
return false;
}
}
private bool ThumbnailCallback()
{
return false;
}