首页 > C#.NET 上传图片时怎样限制文件格式

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("..")+@"..xwzximages_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去打开,截获错误

否则用户可以把一个其它的文件改一下后缀名然后上传得

转载于:https://www.cnblogs.com/Nina-piaoye/archive/2007/01/04/611555.html

更多相关:

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...

  • 第一节 基于Struts 2完成文件上传 Struts 2框架中没有提供文件上传,而是通过Common-FileUpload框架或COS框架来实现的,Struts 2在原有上传框架的基础上进行了进一步封装,从而大大简化了文件上传的开发应用。 1.1 下载并安装Common-FileUpload框架   1.2 配置上传解析器 1.3...

  • 我使用七牛是因为我懒得管理图片,也懒得处理图片缩放之类的东西。 最主要的,感觉用七牛逼格比较高。 傻瓜式的顺序:注册七牛账号->实名认证->充值10块钱->开始使用 这时候你去个人中心->密钥管理,可以看到AK和SK两个值,这两个值是七牛确认是谁在上传图片,也就是确认身份用的,所以千万不要给心怀不轨的人看到。 图片上传应该都需要以下几...

  • 在经受一天的磨难之后终于找到处理事件方法: 先引用: