ASP.NET利用byte检测上传图片安全
2015-08-30 14:33
786 查看
if (Request.Files.Count > 0) { //这里只测试上传第一张图片file[0] HttpPostedFile file0 = Request.Files[0]; //转换成byte,读取图片MIME类型 Stream stream; //int contentLength = file0.ContentLength; //文件长度 byte[] fileByte = new byte[2];//contentLength,这里我们只读取文件长度的前两位用于判断就好了,这样速度比较快,剩下的也用不到。 stream = file0.InputStream; stream.Read(fileByte, 0, 2);//contentLength,还是取前两位 stream.Close(); string fileFlag = ""; if (fileByte != null && fileByte.Length > 0)//图片数据是否为空 { fileFlag = fileByte[0].ToString() + fileByte[1].ToString(); } string[] fileTypeStr = { "255216", "7173", "6677", "13780" };//对应的图片格式jpg,gif,bmp,png if (fileTypeStr.Contains(fileFlag)) { file0.SaveAs(Server.MapPath("~/" + file0.FileName)); } else { Response.Write("图片格式不正确:" + fileFlag); } }
相关文章推荐
- asp.net mvc验证总结(转)
- 17、ASP.NET MVC入门到精通——Spring.net入门
- 浅谈Asp.net的sessionState
- Metasploit(六)--Msfvenom命令
- ASP.NET获取IP的6种方法
- ASP.NET MVC导出excel
- NLog 在Asp.NET MVC5中使用文件和数据库设置
- 树莓派2代(RaspberryPi2)配合温度传感器DS18B20获取温度
- 利用ASP.NET加密和解密Web.config中连接字符串
- 文章标题
- ASP.NET MVC WEB API必知必会知识点总结
- ASP+Access UTF-8 网页乱码问题解决办法
- c#(asp.net) 如何计算两个日期之间相隔天数
- 图片自动旋转
- ASP.NET __doPostBack函数
- try catch finally中含有return时的处理步骤
- 12306动态验证码启发之ASP.NET实现动态GIF验证码(附源码)
- iis7.5 asp 报错 乱码
- Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值
- ASP.NET MVC中的模型装配 封装方法 非常好用