C#.NET 上传图片时怎样限制文件格式?
日期:2006-07-14 荐:
C#.NET 上传图片时怎样限制文件格式?在上传文件时,限制上传的文件为JPG,GIF格式,怎么处理?源代码:HttpPostedFile hpf = UploadFile.PostedFile;try{UploadFile.Accept = "images/*";UpfileName.Text= hpf.FileName;FileSize.Text = hpf.ContentLength.ToString();//取得文件名(不含路径)char[] de = {'\\'};string[] AFilename = hpf.FileName.Split(de);string strFilename = AFilename[AFilename.Length-1];lblFileName.Text = strFilename;//保存文件到指定路径hpf.SaveAs(Server.MapPath("..") @"\..\xwzx\images_thing\" strFilename);string var_path = "\\xwzx\\images_thing\\" strFilename ;UpfileName.Text = strFilename "上传成功";UpfileName.Visible = true;//保存路径和文件名myBuExample.UpdateJBJSbyOID(long.Parse(OID.Text.Trim()),var_path);this.BuilderData();}catch{UpfileName.Text = UploadFile.Value.ToString() "上传失败或是出错!";UpfileName.Visible = true;}string pictype=FileUp.PostedFile.ContentType.ToString().Replace("image/",""); if(pictype=="pjpeg"){pictype="jpg";suffix=".jpg";}else{ pictype="gif"; suffix=".gif";}主要就是通过调试获取图片的类型,再判断if(Extname.ToUpper() == ".JPG" || Extname.ToUpper() == ".GIF"){ //upload}else{ ////}//Extname判断文件的扩展名up如果不是image不上传,不就好了这个也可以用脚本控制,如果不是你要的格式,就不许上传(主要用到:split)其实这就是个虚假的限制如果用户改名等 就不是很好判断 如传 word 文件时基本没法判断是否是真的 word 文件。这个功能我是使用客户端脚本实现的。我用onpropertychange事件触发,然后判断文件扩展名的。比在服务器端判断刷新网页感觉好一些校验文件头数据或者干脆就用Image去打开,截获错误否则用户可以把一个其它的文件改一下后缀名然后上传得
标签: