Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.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# 根据数据确定文件类型?_C#_File - Fatal编程技术网

C# 根据数据确定文件类型?

C# 根据数据确定文件类型?,c#,file,C#,File,我有一些数据是通过字节流输入的。我想确定它的文件类型,以便知道如何解析它。目前,我只关心HTML或图像,其他一切都可以丢弃 区分两者的有效方法是什么?如果我想扩展它以包含其他文件类型,该怎么办?有一个文件类型,但我不知道它是否真的存在/工作。stackoverflow文章讨论了同样的问题,并用Python标记(但这与编程语言无关)。他们提到了关于文件类型签名的文章(不是真正的签名,而是已知文件类型的一个常见的起始数字)。出于安全原因,我建议仅当您要以一种非平凡的方式将此控件作为应用程序逻辑时,才

我有一些数据是通过字节流输入的。我想确定它的文件类型,以便知道如何解析它。目前,我只关心HTML或图像,其他一切都可以丢弃

区分两者的有效方法是什么?如果我想扩展它以包含其他文件类型,该怎么办?

有一个文件类型,但我不知道它是否真的存在/工作。

stackoverflow文章讨论了同样的问题,并用
Python
标记(但这与编程语言无关)。他们提到了关于文件类型签名的文章(不是真正的签名,而是已知文件类型的一个常见的起始数字)。出于安全原因,我建议仅当您要以一种非平凡的方式将此控件作为应用程序逻辑时,才从可信源获取流


此外,由于您只是检查文件是html还是二进制文件(目前),因此可能需要检查字节流中是否存在0(字节,而不是字符),或者是否存在任何非法的html字符(例如0x1)。

有关解决方案,请参阅[使用.NET,如何根据文件签名而不是扩展名查找文件的mime类型。]()查找格式标准,查看它们如何识别自己。