我想上传多个文件,包括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>
我没有保存文件和保存对象的问题。唯一的问题:文件列表为空。
我要上传文件,您的表单需要包含enctype= multipart/form-data属性。
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。
HtmlHelper