美好的一天,
我正在尝试从我的视图上传图片
@using (Html.BeginForm("CrearCurso", "ProfesorCurso", null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="form-group">
<label>Upload Image</label>
<div class="input-group">
<span class="input-group-btn">
<span class="btn btn-default btn-file">
Browse… <input type="file" id="imgInp">
</span>
</span>
<input type="text" class="form-control" readonly>
</div>
<img id='img-upload'/>
</div>
}
我在mvc中有这个控制器
[HttpPost]
public ActionResult CrearCurso(CursoViewModel CursoViewModel, HttpPostedFileBase imgInp)
{
return View();
}
然而,当我检查HttpPsotedFileBase时,它是空的。这有什么不对?感谢
答案 0 :(得分:2)
表单回发其成功表单控件的名称/值对。您的文件输入没有name
属性。将其更改为
<input type="file" name="imgInp">
但是,最好强烈绑定到您的模型,因此添加
public HttpPostedFileBase ImgInp { get; set; }
属性到您的视图模型并使用
@Html.TextBoxFor(m => m.ImgInp, new { type = "file" })
还允许您在需要时将验证属性添加到文件输入