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;public partial class _Default : System.Web.UI.Page...{ protected void Page_Load(object sender, EventArgs e) ...{ } protected void btn_upload_Click(object sender, EventArgs e) ...{ try ...{ //判断是否已经选取文件 if (FileUpload1.HasFile) ...{ if (IsAllowedExtension(FileUpload1)) ...{ string path = Server.MapPath("~/images/"); FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName); Response.Write("<script>alert('上传成功');</script>"); } else ...{ Response.Write("<script>alert('您只能上传jpg或者gif图片');</script>"); } } else ...{ Response.Write("<script>alert('你还没有选择文件');</script>"); } } catch (Exception error) ...{ Response.Write(error.ToString()); } } //真正判断文件类型的关键函数 public static bool IsAllowedExtension(FileUpload hifile) ...{ System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); System.IO.BinaryReader r = new System.IO.BinaryReader(fs); string fileclass = ""; byte buffer; try ...{ buffer = r.ReadByte(); fileclass = buffer.ToString(); buffer = r.ReadByte(); fileclass += buffer.ToString(); } catch ...{ } r.Close(); fs.Close(); if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar ...{ return true; } else ...{ return false; } }} 关键代码是优快云的月儿写的,我只是做了一些适当的修改,可以实现真正意义上的文件类型判断,推荐使用这种方法.优快云的月儿的博客------------------------------------------------------http://blog.youkuaiyun.com/21aspnet/archive/2007/04/01/1548696.aspx