Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在尝试加载之前,如何检查jpeg图像文件是否为有效图像?_C#_Image_File_Validation - Fatal编程技术网

C# 在尝试加载之前,如何检查jpeg图像文件是否为有效图像?

C# 在尝试加载之前,如何检查jpeg图像文件是否为有效图像?,c#,image,file,validation,C#,Image,File,Validation,在C#.NET 4.0中,基于我下载错误图像时遇到的问题(将错误的aspx页面保存为image.jpg而不是image.jpg中的实际图像),我需要以某种方式读取文件并确定它是否为有效图像。我只需要1个函数public bool IsValidJpgImage(stringimagefilename)返回false的任何内容(不是有效的图像文件)我将从磁盘中删除。此代码用于在上载图像之前获取小于500kb的大小和.jpg格式的图像 protectedvoidbtnok_单击(对象发送方,事件参数

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

此代码用于在上载图像之前获取小于500kb的大小和.jpg格式的图像
protectedvoidbtnok_单击(对象发送方,事件参数e)
{
长最大尺寸=512000;
string str=Path.GetFileName(FileUpload1.FileName);
int filesize=FileUpload1.PostedFile.ContentLength;
字符串fileexe=Path.GetExtension(FileUpload1.FileName);

据我所知,虽然我记不起前6个字符是什么,但所有jpeg在内部都以相同的10字符ASCII字符串开头。这是识别jpeg图像的快速/肮脏方法,即使文件扩展名是错误的

grep -P '^......JFIF' ./'raccoon paint.jpeg'

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

您可以先检查文件扩展名,然后继续读取并验证jpeg头。签出:。您需要在问题中添加7000多张图像以供搜索。
grep -P '^......JFIF' ./'raccoon paint.jpeg'