MVC控制器参数找到null

时间:2016-06-22 05:42:52

标签: javascript model-view-controller

当我从索引上传文件时,Create controller参数可以找到null为什么? 我用db模型是' File'和模型类是' MyfileModel'

  public ActionResult Create(HttpPostedFileBase filesBase)
    {         
         try
        {
            if (ModelState.IsValid)
            {
                db.Files.Add(new File()
                {
                    FileName = Path.GetFileName(filesBase.FileName)
                });
                db.SaveChanges();
            }
        }
        catch (Exception)
        {
            var error = "Sorry not save";
        }
        return Content("");
    }



@using (Html.BeginForm("Create", "Home", FormMethod.Post, new {enctype =    "multipart/form-data"}))
{
<input type="file" name="file" id="file"/>
<input type="submit" value="Upload"/> 
}

2 个答案:

答案 0 :(得分:0)

您的输入必须具有名称“fileBase”。或者将操作中输入参数的名称更改为“file”。

答案 1 :(得分:0)

了解我如何实现同样目标,

控制器代码:

    [HttpPost]
    public ActionResult File()
    {
        if (Request.Files.Count > 0)
        {                
            var file = Request.Files[0];
            if (file != null && file.ContentLength > 0)
            {
                // do stuff
            }
        }
        return View();
    }

在视图文件中

@using (Html.BeginForm("File", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{

   <div class="form-group">
        <input name="file" type="file" />
    </div>
    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create" class="btn btn-default" />
        </div>
    </div>
}