我有一个简单的情况,我有一个页面上传文件,进行一些导入。目前,我所拥有的只是在我的页面上输入文件。
这就是我的控制器看起来像
public ActionResult FileUpload()
{
return View();
}
这就是我的观点
@{
ViewBag.Title = "FileUpload";
}
<h2>FileUpload</h2>
<form action="/Home/FileUpload" method="post" enctype="multipart/form-data">
<input type="file" id="newFile" name="newFile" />
<input type="submit" id="submitButton" value="Submit" />
</form>
这就是我的帖子行动的样子
[HttpPost]
public ActionResult FileUpload(HttpPostedFileBase newFile)
{
if (newFile.ContentLength > 0)
{
//do stuff here
}
return View("Index");
}
你当然会注意到这里没有提到模型,因为我找不到为这种情况创建模型的方法。我希望得到一些非常基本的验证,就像“请在上传之前选择一个文件”,这就是全部。
有没有办法实现这个目标?!
提前致谢
威尔
答案 0 :(得分:3)
使用字符串属性newFile创建模型类并在其上放置一个Required。
在控制器中接受不是HttpPostedFile而是你的模型类。
答案 1 :(得分:1)
您应手动添加客户端验证:
<input type="file" data-val="true" data-val-required="please select a file" name="file" />
@Html.ValidationMessage("file")