在我看来有以下标记:
<form action="Categories/Upload" enctype="multipart/form-data" method="post"> <input type="file" name="Image"> <input type="submit" value"Save"> </form>
在我的控制器:
public ActionResult Upload(FormCollection form) { var file = form["Image"]; }
文件的值为null.
如果我使用不同的控制器控制器在不同的视图中尝试,并且使用相同的代码.
Vista上有VS2008,MVC 1.0.
为什么?
马尔科姆
解决方法
使用HttpPostedFileBase作为您的操作的参数.另外,将AcceptVerb属性添加到POST.
[AcceptVerbs(HttpVerbs.Post)] public ActionResult Upload(HttpPostedFileBase image) { if ( image != null ) { // do something } return View(); }
这个代码是ASP.NET MVC的精神/设计.