MVC3上传了更多信息

时间:2012-07-09 10:15:18

标签: asp.net-mvc-3 file-upload

我可以使用 HttpPostedFileBase 在MVC3(C#)中上传文件,但我想了解更多关于上传文件的内容......

  • 如何获得
  

文件大小

  • 如何获得
  

文件类型

  • 如何按文件类型过滤文件上传

请帮帮我

1 个答案:

答案 0 :(得分:3)

  

文件大小

使用file.ContentLength,其中file为HttpPostedFileBase变量。

  

文件类型

您可以使用文件名的扩展名,但显然不是100%可靠。如果您需要防弹解决方案,则必须使用启发式扫描。例如,查看上传文件的内容以尝试猜测其类型。例如,要测试已知的图像格式,您可以使用following technique。我还写了another post关于使用自定义验证属性验证已知图像格式的信息。

  

如何按文件类型过滤文件上传

HTML5支持指定内容类型:

<input type="file" name="file" accept="image/*" />

如果您的浏览器不支持HTML5,您将不得不使用其他一些技术,如Flash等。您可以使用现有的插件,例如UploadifyPlupload,它们通过测试客户端浏览器的功能并逐步退回来提供此功能。

为了过滤文件输入框的内容,在IE7中只能用原生HTML和javascript做任何事情。