文件上传不起作用,但没有丢失任何错误
问题描述:
我想上传允许文件上传在我的MVC应用程序,但是当我测试它的页面只是刷新,不显示任何错误,并没有上传文件,所以我对于什么是错误的完全疏忽。文件上传不起作用,但没有丢失任何错误
查看:
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Filenname:</label>
<input type="file" name="file" id="file" />
<input type="submit" />
</form>
控制器:
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
var filename = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/"), filename);
file.SaveAs(path);
}
return RedirectToAction("Index");
}
答
尝试:
<form action="Controller/Index" method="post" enctype="multipart/form-data">
<label for="file">Filenname:</label>
<input type="file" name="file" id="file" />
<input type="submit" />
</form>
+0
这与控制器一起工作,因此'action =“Index” – Matthew
答
还没有真正尝试过,但我的猜测是,那是因为你没有使用Html.BeginForm
和你正在使用简单<form>
。 试试这个:
@using (Html.BeginForm("Index","Upload",FormMethod.Post, new {enctype="multipart/form-data"}))
{
<input type="file" name ="file" id ="file"/>
<input type="submit">
}
你的表单动作是空白 – Jasen
@Jasen我下面http://haacked.com/archive/2010/07/16/uploading-files- with-aspnetmvc.aspx /表单动作应该是什么?通常是“”的动作意味着张贴到同一页面,应该由索引ActionResult – Matthew
Jasen抓取是正确的。你需要指定行动的动向 - 与BeginForm –