代码之家  ›  专栏  ›  技术社区  ›  eomeroff

C 35; HttpPostedFileBase对象。ContentType属性检查是否支持类型验证

  •  0
  • eomeroff  · 技术社区  · 14 年前

    我试图通过支持的文件类型验证文件上载,目前我正在比较ContentType属性和支持的文件类型列表,如“text/xml”“application/x-zip-compressed”等。我发现这些字符串只是通过尝试上载各种文件并在调试模式下检查ContentType属性的值。

    有办法避免吗?

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

    是否仅按文件扩展名比较解决方案?

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Shiv Kumar    14 年前

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

    你可以在这里得到各种MIME类型的列表 http://www.w3schools.com/media/media_mimeref.asp

    如果您支持特定的文件类型,那么您也需要转换它,那么真正的问题是什么?

    你只需要看看上传的文件是否是你支持的类型之一。所以这是一个可以存储在散列集中的列表,当你接收并上传文件时,只需检查一下散列

    hashSet.Contains(contentType)