2010-11-23 138 views
0

我想通过支持的文件类型验证文件上传,现在我比较ContentType属性与受支持的文件类型列表,如“text/xml”“application/x- zip压缩“等。我发现这些字符串只是试图上传各种文件并在调试模式下检查ContentType属性的值。C#HttpPostedFileBase object.ContentType属性检查支持的类型验证

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

因为检查20种不同文件类型的ContentType属性是一件很痛苦的事情,并且查找这些文件或创建其他类型的转换非常麻烦。

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

非常感谢。

回答

1

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

你可以得到不同的MIME类型这里 http://www.w3schools.com/media/media_mimeref.asp

列表如果要支持特定的文件类型,那么你就需要将其转换过的工作,所以什么是真正的问题?

您只需查看上传的文件是否是您支持的类型之一。所以,这是你可以存储在一个HashSet,然后当你接收和上传文件,只需检查对HasSet

hashSet.Contains(contentType) 
+0

链接列表,不再工作......对于MIME类型犯错我的意思是媒体类型的http:// www.iana.org/assignments/media-types – 2013-06-04 14:30:36