前台代码: <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上传" /> <br /> <asp:RequiredFieldValidator ID="valFileUpload1" ControlToValidate="FileUpload1" ErrorMessage="请先选择要上传的图片" runat="server" Display="Dynamic" /> <asp:CustomValidator ID="valInvalidFile" runat="server" ErrorMessage="你上传的文件不能表现为一个图片!" Display="Dynamic"></asp:CustomValidator> <asp:CustomValidator ID="valInvalidDimensions" runat="server" ErrorMessage="你上传的图片尺寸不合适.请选择一个高{0}px 宽{1}px的图片." Display="Dynamic" EnableViewState="false"></asp:CustomValidator> <asp:Label ID="lblSucces" runat="server" Text="上传图片已经被成功保存." Visible="false" EnableViewState="false"></asp:Label> </div> </form> 后台代码: protected void btnUpload_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { string extension = Path.GetExtension(FileUpload1.PostedFile.FileName); switch (extension.ToLower()) { case ".gif": case ".jpg": case ".png": case ".bmp": case".jpeg": try { //如果上传的图片符合尺寸 if (ValidateFileDimensions()) { string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName); string saveAsName = Path.Combine(Server.MapPath("~/ProductImages/"), fileName); FileUpload1.PostedFile.SaveAs(saveAsName); lblSucces.Visible = true; } else { valInvalidDimensions.IsValid = false; valInvalidDimensions.ErrorMessage = String.Format(valInvalidDimensions.ErrorMessage, height, width); } } catch { // 无法读取图片的尺寸,可能不是一个图片或照片。 valInvalidFile.IsValid = false; } break; default: // 上传的文件具有不正确的扩展名,即图片的类型不符合要求 valInvalidFile.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); } } 转自:http://blog.csdn.net/wangsky2/archive/2009/04/23/4103771.aspx