有没有人知道脚本来验证给定图像的文件格式。目前我正在填充图像对象,查看它的高度,宽度和分辨率。我没有看到解释文件格式的此对象的任何特定属性。
我想查看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;
}
提前致谢
答案 0 :(得分:6)
使用Image.RawFormat
。结果是ImageFormat
类的一个实例,可以与ImageFormat
的静态属性进行比较。
有关详细信息,请参阅the ImageFormat
class properties。
答案 1 :(得分:3)
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;
}
}
答案 2 :(得分:1)
您可以访问Wotsit以找出在文件开头用作标记的神奇字节。单击“图形文件”以查看文件格式列表..
答案 3 :(得分:0)
怎么样:
bool isJpeg = imgPhoto.RawFormat.Equals(Imaging.ImageFormat.Jpeg);