100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > asp.net上传图片自动生成缩略图功能代码

asp.net上传图片自动生成缩略图功能代码

时间:2021-09-13 08:45:07

相关推荐

asp.net上传图片自动生成缩略图功能代码

if (FileUpload1.FileName.ToString() == ""){Label3.Text = "请选择图片!";}else{Boolean FileOK = false;if (this.FileUpload1.HasFile){// 限制上传图片小于 2Mif (FileUpload1.PostedFile.ContentLength <= 2097152){// 图片 Guid 重命名Session["WorkingImage"] = Guid.NewGuid().ToString() + Path.GetExtension(FileUpload1.FileName.ToString()).ToLower();String FileExtension = Path.GetExtension(Session["WorkingImage"].ToString()).ToLower();String[] allowedExtensions = { ".png", ".jpeg", ".jpg", ".gif" };for (int i = 0; i < allowedExtensions.Length; i++){if (FileExtension == allowedExtensions[i]){FileOK = true;}}}// 上传图片大于 2M 警告else{FileOK = false;Response.Write("<script language=javascript>alert('图片不要超过 2M 大小!');window.location.href=window.location.href;</script>");}}if (FileOK){try{//生成原图Byte[] oFileByte = new byte[this.FileUpload1.PostedFile.ContentLength];System.IO.Stream oStream = this.FileUpload1.PostedFile.InputStream;System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream);int oWidth = oImage.Width; //原图宽度int oHeight = oImage.Height; //原图高度int tWidth; //缩略图宽度int tHeight; //缩略图高度//按比例计算出缩略图的宽度和高度if (oWidth >= oHeight){tWidth = 300;tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth) / Convert.ToDouble(oWidth)));}else{tHeight = 300;tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight) / Convert.ToDouble(oHeight)));}//生成缩略原图Bitmap tImage = new Bitmap(tWidth, tHeight);Graphics g = Graphics.FromImage(tImage);//设置高质量插值法g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;//设置高质量,低速度呈现平滑程度g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;//清空画布并以透明背景色填充g.Clear(Color.Transparent);g.DrawImage(oImage, new Rectangle(0, 0, tWidth, tHeight), new Rectangle(0, 0, oWidth, oHeight), GraphicsUnit.Pixel);string fullFileName = this.FileUpload1.PostedFile.FileName.ToString();fullFileName = fullFileName.Remove(fullFileName.LastIndexOf('.'));string filename = fullFileName.Substring(fullFileName.LastIndexOf("\\") + 1);//存储路径string strLocation = path.ToString();string tFullName = strLocation + Session["WorkingImage"].ToString();try{// 上传缩略tImage.Save(tFullName, System.Drawing.Imaging.ImageFormat.Jpeg);//输出上传成功提示并显示保存路径TextBox3.Text = "uploadfiles/product/" + Session["WorkingImage"].ToString();// pic_upload.Visible = false;// pic_crop.Visible = true;// 读取缩略图path = "../uploadfiles/product/" + Session["WorkingImage"].ToString();}catch (Exception){Response.Write("<script language=javascript>alert('上传失败,请重试!');window.location.href=window.location.href;</script>");}finally{//释放资源oImage.Dispose();g.Dispose();tImage.Dispose();}}catch (Exception){Response.Write("<script language=javascript>alert('上传失败,请重试!');window.location.href=window.location.href;</script>");}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。