Httppostedfilebase在控制器中始终为null

时间:2014-09-01 17:16:59

标签: controller asp.net-mvc-5 httppostedfilebase

我知道很多时候会问这个问题,我会找到答案,但我很遗憾地错过了什么......

我的观点..

@using TaxiAssistant.Views.CompanyAdmin.Resources

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

    <input type="file" name="uploadFile" id="file1" />
    <br />
    <br />
    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="@Resources.Import" class="btn btn-default" />
        </div>
    </div> 
}

我的控制器:

 [HttpPost]
        public ActionResult ImportDrivers(HttpPostedFileBase file)
        {


            return View();
        }

在控制器参数中始终为空。我错过了什么:/

2 个答案:

答案 0 :(得分:3)

更改方法参数的名称以匹配控件的名称

<input type="file" name="uploadFile" id="file1" />

public ActionResult ImportDrivers(HttpPostedFileBase uploadFile)
{
  ...

答案 1 :(得分:1)

在控制器中使用

file = Request.Files["uploadFile"];

您将在HttpPostedFileBase的文件对象中上传文件