Asp.net 读取文件的实际扩展名

Asp.net 读取文件的实际扩展名,asp.net,vb.net,c#-4.0,Asp.net,Vb.net,C# 4.0,验证使用的文件上载类型 Path.GetExtension(Filename)返回文件扩展名。 但是,如果用户将文件扩展名更改为不同的扩展名并尝试上载,我如何读取文件的实际扩展名?存在可以通过查看文件头来获取文件的mime类型的文件。存在可以通过查看文件头来获取文件的mime类型的文件。您不能。扩展名只是一个描述,一个用于将文件类型链接到应打开它和/或用于组织目的的程序的引用。它不确定文件内容。如果您需要某些特定的文件类型,可以检查文件头并查看它是否与描述匹配。您可以将文件扩展名想象成存储jar

验证使用的文件上载类型 Path.GetExtension(Filename)返回文件扩展名。
但是,如果用户将文件扩展名更改为不同的扩展名并尝试上载,我如何读取文件的实际扩展名?

存在可以通过查看文件头来获取文件的mime类型的文件。

存在可以通过查看文件头来获取文件的mime类型的文件。

您不能。扩展名只是一个描述,一个用于将文件类型链接到应打开它和/或用于组织目的的程序的引用。它不确定文件内容。如果您需要某些特定的文件类型,可以检查文件头并查看它是否与描述匹配。您可以将文件扩展名想象成存储jar上的标签。如果你有一个标签上写着“糖”的罐子,那么你通常希望在里面找到糖,但你不能确定。唯一能确定的方法是看看里面的东西,然后测试里面的东西,看看它是否真的是糖。文件是相同的。扩展名应该告诉您文件中的内容,但它是一种隐式关系。要确定这一点,您必须亲自查看文件内容。顺便说一下,扩展名就是扩展名。没有什么不同的“实际扩展”。你说的是文件类型。例如,JPEG文件的扩展名通常为“.jpg”或“.JPEG”。“.bin”和“.dat”是二进制文件和数据文件的常用扩展名,但实际格式可能是常用这些扩展名的数百甚至数千种格式之一。类型和扩展名是相关的,但它们不是同一件事。不能。扩展名只是一个描述,一个用于将文件类型链接到应打开它和/或用于组织目的的程序的引用。它不确定文件内容。如果您需要某些特定的文件类型,可以检查文件头并查看它是否与描述匹配。您可以将文件扩展名想象成存储jar上的标签。如果你有一个标签上写着“糖”的罐子,那么你通常希望在里面找到糖,但你不能确定。唯一能确定的方法是看看里面的东西,然后测试里面的东西,看看它是否真的是糖。文件是相同的。扩展名应该告诉您文件中的内容,但它是一种隐式关系。要确定这一点,您必须亲自查看文件内容。顺便说一下,扩展名就是扩展名。没有什么不同的“实际扩展”。你说的是文件类型。例如,JPEG文件的扩展名通常为“.jpg”或“.JPEG”。“.bin”和“.dat”是二进制文件和数据文件的常用扩展名,但实际格式可能是常用这些扩展名的数百甚至数千种格式之一。类型和扩展是相关的,但它们不是同一件事。