在FileUpload Control中获取文件的扩展名

Mos*_*afa 5 asp.net file-upload

目前我得到文件的文件扩展名,如:

string fileExt = System.IO.Path.GetExtension(filUpload.FileName);
Run Code Online (Sandbox Code Playgroud)

但是如果用户更改了文件的文件扩展名(例如用户可以将"test.txt"重命名为"test.jpg"),我就无法获得真正的扩展名.解决方案是什么?

Ode*_*ded 5

您似乎在询问是否可以从其内容中识别文件类型.

大多数解决方案确实会尝试文件扩展,但有太多不同的可能文件类型可以可靠地识别.

大多数方法使用文件的前几个字节来确定它们是什么.

是一个列表,这里是另一个.

如果您只担心文本与二进制文件,请参阅问题和答案.

请参阅 SO答案以检查文件是否为JPG - 此方法可以扩展为使用其他文件头,如此答案中的前两个链接.