Mvc 上传文件

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,有的浏览器显示文件完整路径,有的仅显示文件名。令人不解,哪位知道的话,帮忙解释一下。谢了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值