View Code
1 public static bool IsAllowedExtension(byte[] imgArray, FileExtension[] fileEx) 2 { 3 MemoryStream ms = new MemoryStream(imgArray); 4 System.IO.BinaryReader br = new System.IO.BinaryReader(ms); 5 string fileclass = ""; 6 byte buffer; 7 try 8 { 9 buffer = br.ReadByte(); 10 fileclass = buffer.ToString(); 11 buffer = br.ReadByte(); 12 fileclass += buffer.ToString(); 13 } 14 catch 15 { 16 } 17 br.Close(); 18 ms.Close(); 19 foreach (FileExtension fe in fileEx) 20 { 21 if (Int32.Parse(fileclass) == (int)fe) 22 return true; 23 } 24 return false; 25 } 26 public enum FileExtension 27 { 28 JPG = 255216, 29 GIF = 7173, 30 PNG = 13780, 31 SWF = 6787, 32 RAR = 8297, 33 ZIP = 8075, 34 _7Z = 55122, 35 XLS = 208207, 36 XLSX = 8075, 37 bmp = 6677 38 } 39 40 调用 41 //判断下是否为gif 42 if (IsAllowedExtension(buffer, new FileExtension[] { FileExtension.GIF,FileExtension.PNG,FileExtension.bmp })) 43 { 44 using (MemoryStream newstream = new MemoryStream()) 45 { 46 bitmap.Save(newstream, System.Drawing.Imaging.ImageFormat.Jpeg); 47 // 48 using (Bitmap newbitmap = new Bitmap(newstream, true)) 49 { 50 } 51 } 52 }