如何在C#中validation图像文件格式

有没有人知道脚本来validation给定图像的文件格式是什么。 目前我正在填充图像对象,查看它的高度,宽度和分辨率。 我没有看到解释文件格式的此对象的任何特定属性。

我想检查jpg,AI,PSD,High Jes Jpg,Bitmap和Tiff。

这是我目前的脚本:

protected bool IsValidImage(HttpPostedFileBase file, string fileName) { //verify that the image is no more than 648 wide and 648 pixels tall Image imgPhoto = Image.FromStream(file.InputStream); if (imgPhoto.Width > 648) return false; if (imgPhoto.Height > 648) return false; if (imgPhoto.HorizontalResolution != 72 || imgPhoto.VerticalResolution != 72) return false; return true; } 

提前致谢

使用Image.RawFormat 。 结果是ImageFormat类的一个实例,可以与ImageFormat的静态属性进行比较。

有关更多详细信息,请参阅ImageFormat类属性 。

 public bool validateImage(byte[] bytes) { try { Stream stream = new MemoryStream(bytes); using(Image img = Image.FromStream(stream)) { if (img.RawFormat.Equals(ImageFormat.Bmp) || img.RawFormat.Equals(ImageFormat.Gif) || img.RawFormat.Equals(ImageFormat.Jpeg) || img.RawFormat.Equals(ImageFormat.Png)) return true; } return false; } catch { return false; } 

}

您可以访问Wotsit以找出在文件开头用作标记的神奇字节。 单击“图形文件”以查看文件格式列表。

关于什么:

 bool isJpeg = imgPhoto.RawFormat.Equals(Imaging.ImageFormat.Jpeg);