C#HttpPostedFileBase object.ContentType属性检查支持的类型验证

时间:2010-11-23 11:04:54

标签: c# validation httppostedfilebase

我正在尝试通过支持的文件类型验证文件上传,现在我将ContentType属性与支持的文件类型列表进行比较,例如“text / xml”“application / x-zip-compressed”等。我找到了这些字符串只需尝试上传各种文件并在调试模式下检查ContentType属性的值。

有没有办法避免这种情况?

因为检查20种不同文件类型的ContentType属性是很痛苦的,找到这些文件或从其他类型创建转换是一项巨大的工作。

是仅通过文件扩展名进行比较的解决方案吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

ContentType是一种非常合理的比较方式(在服务器端)。

您可以在此处获取各种MIME类型的列表 http://www.w3schools.com/media/media_mimeref.asp

如果你支持某种文件类型,那么你也承担了转换它的工作,那么问题到底是什么?

您只需要查看上传的文件是否是您支持的类型之一。这是一个可以存储在HashSet中的列表,然后当您收到并上传文件时,只需检查HasSet

hashSet.Contains(contentType)