0
点赞
收藏
分享

微信扫一扫

判断图片的格式的方法

第一种:直接获取文件后缀名,但不安全

System.IO.Path.GetExtension(FileName)

第二种:

//真正判断文件类型的关键函数     
public static bool IsAllowedExtension(FileUpload hifile) {
System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.BinaryReader r = new System.IO.BinaryReader(fs);
string fileclass = "";
//这里的位长要具体判断.
byte buffer;
try {
      buffer = r.ReadByte();
     fileclass = buffer.ToString();
    buffer = r.ReadByte();
fileclass += buffer.ToString();
    }
 catch { }
    r.Close();
    fs.Close();
if (fileclass == "255216" || fileclass == "7173")//说明:255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
  { return true; }
else { return false; }
}

第三种:

try {
Image img = Image.FromStream(Request.Files[0].InputStream);
img.RawFormat.Guid.ToString() == "xxxxx????xxxxxx" //不同图像格式有不同的Guid
}
catch (ArgumentException exp)
{
//不是图像流
}

龙腾一族至尊龙骑

举报

相关推荐

0 条评论