1、建立Mvc项目
2、修改HomeController,代码如下:
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult upLoad(HttpPostedFileBase upfile)
{
if (upfile != null)
{
//if (upfile.ContentLength > 0)
//{
// string savedName = Path.Combine(Server.MapPath("~/"), upfile.FileName);
// upfile.SaveAs(savedName);
//}
ViewData["Message"] = upfile.FileName;
}
else
ViewData["Message"] = "没有文件";
return View("Index");
}
3、修改View/Home/Index.aspx,注意必须有form,而且要加标签enctype = "multipart/form-data"
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<%=ViewData["Message"]%>
<% using (Html.BeginForm("upLoad", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{%>
<input type="file" name="upfile" />
<input type="submit" name="uploadControl" value="上传" />
<%} %>
</asp:Content>
4、若长传文件比较大,可以修改Web.config ,控制上传文件大小,如限制4M大小
<system.web>
........
<httpRuntime maxRequestLength="4096"/>
........
</system.web>
5、唯一 令人 疑惑的是 上述程序发布后,通过IE进行上传文件,返回upfile.FileName,有的浏览器显示文件完整路径,有的仅显示文件名。令人不解,哪位知道的话,帮忙解释一下。谢了