在我的MVC应用程序中,我尝试将多个图像插入添加到我的ViewModel
字段的视图中。所以我会用一个常用按钮给我的控制器打电话。
@using (Html.BeginForm())
{
<form action="" method="post" enctype="multipart/form-data">
<div>
<input id="fileupload" type="file" multiple="multiple" name="files" />
</div>
</form>
<div>
.... some textbox etc. (InsertViewModel)
</div>
<div class="form-group">
<div class="col-md-offset-8 col-md-10">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</div>
}
我的控制器看起来:
[HttpPost]
public async Task<ActionResult> Insert(InsertViewModel model, IEnumerable<HttpPostedFileBase> files)
{ ..... }
但总是我得到我的文件对象0的数量。
有什么想法吗?
答案 0 :(得分:1)
请在表格和所有文本框中添加提交按钮。 然后它工作正常。 代码就在视图中
<form action="" method="post" enctype="multipart/form-data">
<div>
<input id="fileupload" type="file" multiple="multiple" name="files" />
</div>
<div>
<input id="name" type="text" name="name" />
</div>
<div>
<input id="address" type="text" name="address" />
</div>
<div class="form-group">
<div class="col-md-offset-8 col-md-10">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</div>
你好
我的控制器看起来像
[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> files, Demo obj)
{
return View();
}
如果您在单个视图中需要两个表单,您还可以使用Request.Files发送上传文件并接收到控制器
if (Request.Files.Count > 0)//// Is image is uplaod by browse button
{
foreach(var fl in Request.Files)
{
var inputStream = Request.Files[0].InputStream;
}
}
喜欢上面你可以得到文件流等等。