Robin 发表于 2013-7-24 20:40:13

判断是否IMG文件 bmp/JPEG/GIF/PNG 按前几个字节比较

判断上传文件类型是否Img类型 , 普通的判断后缀是不对的 , 容易被伪造 , 会导致意想不到的后果 .
/// <summary>/// 判断是否IMG文件 bmp/JPEG/GIF/PNG 按前几个字节比较/// </summary>/// <param name="filename">string扩展</param>/// <returns></returns>public static bool IsImgFile(this string filename) {if (!FileDirectory.FileExists(filename)) return false;ushort code = BitConverter.ToUInt16(File.ReadAllBytes(filename), 0);switch (code) {case 0x4D42://bmpreturn true;case 0xD8FF://JPEG return true;case 0x4947://GIF return true;case 0x5089://PNG return true;default:return false;}}

Robin 发表于 2013-7-24 20:41:00

:curse: 我了个擦,竟然没格式化 ...

Robin 发表于 2013-7-24 20:42:03

/// <summary>
/// 判断是否IMG文件 bmp/JPEG/GIF/PNG 按前几个字节比较
/// </summary>
/// <param name="filename">string扩展</param>
/// <returns></returns>
public static bool IsImgFile(this string filename) {
if (!FileDirectory.FileExists(filename)) return false;

ushort code = BitConverter.ToUInt16(File.ReadAllBytes(filename), 0);
switch (code) {
case 0x4D42://bmp
return true;
case 0xD8FF://JPEG
return true;
case 0x4947://GIF
return true;
case 0x5089://PNG
return true;
default:
return false;
}
}

ibcadmin 发表于 2013-7-24 21:09:47

哈哈 这插件你会用啊 哈哈哈

阿甘大手 发表于 2013-7-25 21:57:07

:):D{:2_27:}
页: [1]
查看完整版本: 判断是否IMG文件 bmp/JPEG/GIF/PNG 按前几个字节比较