从数据中确定文件类型?

时间:2010-10-19 23:45:29

标签: c# file

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

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

2 个答案:

答案 0 :(得分:1)

那里有wrapper for libmagic,但我不知道它是否真的活着/工作。

答案 1 :(得分:1)

This stackoverflow文章讨论了同样的问题,并用Python标记(这与编程语言无关)。他们提到this关于文件类型签名的文章(不是真正的签名,而是已知文件类型的常见起始幻数)。出于安全原因,我建议只有在您要以非平凡的方式控制应用程序逻辑时才从受信任的来源获取流。

另外,既然你只是检查一个文件是html还是二进制文件(目前),你可能想要检查字节流中是否存在0(字节,而不是字符),或者只是非法的html字符(例如0x1)。