如何在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);