如何在尝试加载之前检查jpeg图像文件是否实际上是有效图像?

Jer*_*dge 3 c# validation image file

C#.NET 4.0,基于我下载虚假图像的问题(将错误的aspx页面保存为image.jpg而不是image.jpg中的实际图像),我需要以某种方式读取文件并确定它是否是有效图像.我只需要1个函数public bool IsValidJpgImage(string ImageFilename);返回false的任何东西(不是有效的图像文件)我将从磁盘中删除.

小智 6

据我所知,所有JPEG内部都使用相同的10个字符的ASCII字符串开始,尽管我不记得前6个字符是什么.即使文件扩展名错误,这也是识别jpeg图像的快速/脏方法.

grep -P '^......JFIF' ./'raccoon paint.jpeg'
Run Code Online (Sandbox Code Playgroud)

如果图像不是jpeg,则匹配将失败.