2011-10-01 145 views
0

我使用asp.net fileupload控件上傳圖像,但在這裏我想自動重新大小爲250 * 200px。 請建議我在我的代碼中添加什麼。 我是asp.net的新手。如何上傳圖像縮小尺寸

protected void Button1_Click(object sender, EventArgs e) 
     { string s [email protected]"~\img\"+FileUpload1.FileName; 
      FileUpload1.PostedFile.SaveAs(Server.MapPath(s)); 


      } 

回答

1

我也發現這個代碼可用於調整

using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.IO; 
using System.Data.SqlClient; 
using System.Drawing.Imaging; 
using System.Drawing.Drawing2D; 
using System.Drawing; 

public partial class ImageUpload : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    protected void btnUpload_Click(object sender, EventArgs e) 
    { 

     string ImageName = txtName.Text; 
     if (FileUpLoad1.PostedFile != null && FileUpLoad1.PostedFile.FileName != null) 
     { 

      string strExtension = System.IO.Path.GetExtension(FileUpLoad1.FileName); 
      if ((strExtension.ToUpper() == ".JPG") | (strExtension.ToUpper() == ".GIF")) 
      { 
       // Resize Image Before Uploading to DataBase 
       FileUpload fi = new FileUpload(); 
       fi = FileUpLoad1; 

       System.Drawing.Image imageToBeResized = System.Drawing.Image.FromStream(fi.PostedFile.InputStream); 
       int imageHeight = imageToBeResized.Height; 
       int imageWidth = imageToBeResized.Width; 
       int maxHeight = 120; 
       int maxWidth = 160; 
       imageHeight = (imageHeight * maxWidth)/imageWidth; 
       imageWidth = maxWidth; 

       if (imageHeight > maxHeight) 
       { 
        imageWidth = (imageWidth * maxHeight)/imageHeight; 
        imageHeight = maxHeight; 
       } 

       Bitmap bitmap = new Bitmap(imageToBeResized, imageWidth, imageHeight); 
       System.IO.MemoryStream stream = new MemoryStream(); 
       bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); 
       stream.Position = 0; 
       byte[] image = new byte[stream.Length + 1]; 
       stream.Read(image, 0, image.Length); 

       // Create SQL Connection 
       SqlConnection con = new SqlConnection(); 
       con.ConnectionString = ConfigurationManager.ConnectionStrings["Return_AuthorizationsConnectionString"].ConnectionString; 

       SqlCommand cmd = new SqlCommand(); 
       cmd.CommandText = "INSERT INTO Images(ImageName,Image) VALUES (@ImageName,@Image)"; 
       cmd.CommandType = CommandType.Text; 
       cmd.Connection = con; 

       SqlParameter ImageName1 = new SqlParameter("@ImageName", SqlDbType.VarChar, 50); 
       ImageName1.Value = ImageName.ToString(); 
       cmd.Parameters.Add(ImageName1); 

       SqlParameter UploadedImage = new SqlParameter("@Image", SqlDbType.Image, image.Length); 
       UploadedImage.Value = image; 
       cmd.Parameters.Add(UploadedImage); 
       con.Open(); 
       int result = cmd.ExecuteNonQuery(); 
       con.Close(); 
       if (result > 0) 
        lblMessage.Text = "File Uploaded"; 
       GridView1.DataBind(); 
      } 

      } 

     } 
}