MVC3 上传文件

前台引擎采用Razor

上传页View:

@model System.Web.HttpContextBase
@{
ViewBag.Title = "上传文件";
}

<h2>上传文件</h2>
<br />
<br />
@*new { enctype = "multipart/form-data" }比不可少,否则上传文件不会成功 *@
@using (Html.BeginForm("Upload", "UploadFile", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<text>选择上传文件:</text><input name="file" type="file" id="file" />
<br />
<br />
<input type="submit" name="Upload" value="Upload" />
}

你的后台UploadFileController:

        [HttpPost]
public ActionResult Upload(FormCollection form)
{
if (Request.Files.Count == 0)
{
      
//Request.Files.Count 文件数为0上传不成功
      Return View(); 
     }

var file
= Request.Files[0];
if (file.ContentLength == 0)
{
//文件大小大(以字节为单位)为0时,做一些操作
      Return View();
     }
    
else
    {
      
//文件大小不为0
      HttpPostedFileBase file = Request.Files[0];
      
//保存成自己的文件全路径,newfile就是你上传后保存的文件,
      
//服务器上的UpLoadFile文件夹必须有读写权限      
      file.SaveAs(Server.MapPath(@"UploadFile\newfile"));
    }
     
     
      
     newFile
= DateTime.Now.ToString("yyyyMMddHHmmss") + ".sl";

return View();

}

好了,上传后的文件就可以任你操作了

posted on 2011-08-17 15:51  leiOOlei  阅读(17411)  评论(12编辑  收藏  举报