Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)delvpublished in(发表于) 2014/1/24 9:02:41 ASP.NET,2.0中判断上传的图片是否符合规格_[Asp.Net教程]
在asp.net 2.0中,在上传图片时,有时往往要判断用户上传的图片是否符合指定规格,如果不符合规格,则不予以上传,那么可以用以下的代码片段进行判断。首先在web.config文件中设置图片上传的限制尺寸,比如
之后,在页面获得web.config文件里预先设定的尺寸
if (Page.IsPostBack){height = Convert.ToInt32(ConfigurationManager.AppSettings.Get("RequiredHeight"));width = Convert.ToInt32(ConfigurationManager.AppSettings.Get("RequiredWidth"));}之后在“上传”按钮的事件代码中如下编写
if (Page.IsValid){if (FileUpload1.HasFile){string extension = Path.GetExtension(FileUpload1.PostedFile.FileName);switch (extension.ToLower()){case ".gif":case "jpg":try{//如果符合尺寸if (ValidateFileDimensions()){string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);string saveAsName = Path.Combine(Server.MapPath("~/Uploads/"), fileName);FileUpload1.PostedFile.SaveAs(saveAsName);lblSucces.Visible = true;}else{valInvalidDimensions.IsValid = false;valInvalidDimensions.ErrorMessage = String.Format(valInvalidDimensions.ErrorMessage, height, width);}}catch{// Unable to read the file dimensions. The uploaded file is probably not an image.valInvalidFile.IsValid = false;}break;
default: // The uploaded file has an incorrect extensionvalInvalidFile.IsValid = false;break;}}}
public bool ValidateFileDimensions(){using (System.Drawing.Image myImage = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream)){return (myImage.Height == height && myImage.Width == width);}}
要留意其中ValidateFileDimensions()中完成了判断尺寸的过程了最后,页面放一些验证控件onClick="btnUpload_Click" Text="Upload File" />
赞