不只是判断的扩展名,修改扩展名的也可判断。
1PRivateboolIsImage(stringfilePath)2{3Image image;4try5{6image =Image.FromFile(filePath);7image.Dispose();8returntrue;9}10catch(Exception ex)11{12returnfalse;13}14}
View Code
判断文件的头部
///<summary>///根据文件头判断上传的文件类型///</summary>///<param name="filePath">filePath是文件的完整路径</param>///<returns>返回true或false</returns>privateboolIsPicture(stringfilePath)
{try{
FileStream fs=newFileStream(filePath, FileMode.Open, Fileaccess.Read);
BinaryReader reader=newBinaryReader(fs);stringfileClass;bytebuffer;
buffer=reader.ReadByte();
fileClass=buffer.ToString();
buffer=reader.ReadByte();
fileClass+=buffer.ToString();
reader.Close();
fs.Close();if(fileClass =="255216"|| fileClass =="7173"|| fileClass =="13780"|| fileClass =="6677")//255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar{returntrue;
}else{returnfalse;
}
}catch{returnfalse;
}
}
View Code