using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; namespace HttpUpload.Core { class ImgExt { public static FileExtension CheckImgFile(string fileName) { FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); System.IO.BinaryReader br = new System.IO.BinaryReader(fs); string fileType = string.Empty; FileExtension extension; try { byte data = br.ReadByte(); fileType += data.ToString(); data = br.ReadByte(); fileType += data.ToString(); try { extension = (FileExtension)Enum.Parse(typeof(FileExtension), fileType); } catch { extension = FileExtension.VALIDFILE; } } catch { extension = FileExtension.VALIDFILE; } finally { if (fs != null) { fs.Close(); br.Close(); } } return extension; } public static Stream FileToStream(string fileName) { // 打开文件 FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read); // 读取文件的 byte[] byte[] bytes = new byte[fileStream.Length]; fileStream.Read(bytes, 0, bytes.Length); fileStream.Close(); // 把 byte[] 转换成 Stream Stream stream = new MemoryStream(bytes); return stream; } public static FileExtension CheckImgFile(byte[] bytes) { string fileType = string.Empty; FileExtension extension; try { if (bytes.Length <= 2) { return FileExtension.VALIDFILE; } byte data = bytes[0]; fileType += data.ToString(); data = bytes[1]; fileType += data.ToString(); try { extension = (FileExtension)Enum.Parse(typeof(FileExtension), fileType); } catch { extension = FileExtension.VALIDFILE; } } catch { extension = FileExtension.VALIDFILE; } finally { } return extension; } } public enum FileExtension { JPG = 255216, GIF = 7173, PNG = 13780, SWF = 6787, RAR = 8297, ZIP = 8075, _7Z = 55122, WebP = 8273, BMP = 6677, VALIDFILE = 9999999 // 255216 jpg; // 7173 gif; // 6677 bmp, // 13780 png; // 6787 swf // 7790 exe dll, // 8297 rar // 8075 zip // 55122 7z // 6063 xml // 6033 html // 239187 aspx // 117115 cs // 119105 js // 102100 txt // 255254 sql } }