February 16, 2012

code for resize image in ASP.NET while uploading an image

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;  
 }