我想上传多个文件,包括Word文档,Pdf和图像。 我需要为文件使用单个输入,因为我们不知道将上载多少文件。
我的代码是这样但我有问题我无法将文件发送到服务器端。
控制器代码:
public ActionResult Create([Bind(Include = "Id,Content")] Message message, IEnumerable<HttpPostedFileBase> files)
{
if (ModelState.IsValid)
{
// Object save logic
SaveFiles(message,files);
return RedirectToAction("Index");
}
return View(message);
}
观看代码的一部分:
<form name="registration" action="">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
<label for="Content" >Content:</label>
<textarea class="form-control compose_content" rows="5" id="Content" name="content"></textarea>
<div class="fileupload">
Attachment :
<input id="files" name="files" type="file" multiple />
</div>
</div>
<button type="submit" class="btn btn-default compose_btn" >Send Message</button>
</form>
我没有保存文件和保存对象的问题。 唯一的问题: 文件列表为空。
答案 0 :(得分:2)
我要上传文件,您的表单需要包含enctype= multipart/form-data
属性。
<form name="registration" action="" enctype= "multipart/form-data">
或更好
@using (Html.BeginForm(actionName, controllerName, FormMethod.Post, new { enctype= "multipart/form-data" }))
我强烈建议您将模型传递给视图,并使用强类型HtmlHelper
方法为模型的属性创建html。