CSharp - 提交后,HttpPostedFileBase返回 null

  显示原文与译文双语对照的内容
0 0

我尝试上传 file: 时,我一直在使用 HttpPosterFileBase

我的视图中有以下代码:

@using (Html.BeginForm("Import","Control", FormMethod.Post, new { enctype ="multipart/form-data" }))
{
 <input type="file" name="fileUpload"/>
 <input type="submit" value="Import" id="btnImport" class="button"/>
}

和我的控制器的代码:

[HttpPost]
public ActionResult Import()
{ 
 HttpPostedFileBase file = Request.Files[fileUpload]; 
 Other codes...
}

我还在我的控制器中尝试过:

[HttpPost]
public ActionResult Import(HttpPostedFileBase fileUpload)
{ 
 Other codes...
}

按下提交按钮后,"文件"得到一个空值。

时间:原作者:7个回答

0 0

默认模型活页夹按名称绑定文件。 你的输入名称为 fileUpload 。 你的参数名是 file 。 使它们相同将工作。

原作者:
0 0

你不正确地执行绑定,请更改:

[HttpPost]
public ActionResult Import(HttpPostedFileBase file)
{ 
//other stuff
}

到:

[HttpPost]
public ActionResult Import(HttpPostedFileBase fileUpload)
{ 
//other stuff
}
原作者:
0 0

你的名字不能匹配,因为下面的代码适用于我,除非你使用了一些jQuery或者 Ajax 。 文件上传输入的名称和必须匹配的HttpPostedFileBase 名称。

@using (Html.BeginForm("import","control", FormMethod.Post, new { enctype ="multipart/form-data" }))
{
 <input type="file" name="fileupload"/>
 <input type="submit" value="Import" id="btnImport" class="button"/>
}
[HttpPost]
public ActionResult Import(HttpPostedFileBase fileupload)
{
 return View();
}
原作者:
0 0

感谢你的回答。 我相信所有这些答案都是正确的,但我注意到有嵌套表单后,可以以修复这个问题。 在这里阅读答案后找到了解决方案: MVC 。HttpPostedFileBase总是空

再一次,谢谢干杯 !

原作者:
...