我想验证一种上传文件的类型(假设文件的扩展名不正确)。
我认为可以通过检查文件签名的幻数来完成。同样,因为它是done in unix。所以我想我需要读取文件的第一个字节并将它们与幻数映射进行比较(我需要有映射,我需要维护它们)。
所以我想也许只是为了这个目的有一个班级?或者也许某人已经这样做了,可以分享他们对解决方案的见解?感谢
答案 0 :(得分:4)
我怀疑这个问题有一个“银弹”解决方案。没有人说每种文件格式都有任何形式的幻数。考虑纯文本文件 - 根本没有合理的指示(除了开头可能的字节顺序标记,然而,不一定意味着什么),必须使用纯启发式来猜测它是纯文本文件。像识别XML或HTML(即SGML)文件一样明智,这意味着要检查很多可能性。
您应遵循的方法是:
如果该集合“足够”,我会认为一个简单的自定义解决方案是正确的。
答案 1 :(得分:3)
我不知道.net选项,但你可以看看来自gnu的file for windows是否解决了你的问题。