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去打开,截获错误
否则用户可以把一个其它的文件改一下后缀名然后上传得
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值