ASP.NET MVC 上传文件

1.首先创建一控制器文件UpFileController.cs:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace Mvc4Study.Controllers{

  public class UpFileController : Controller

{

//

// GET: /UpFile/

public ActionResult Index()

{

  return View();

}

[HttpPost]

[ValidateAntiForgeryToken]

public ActionResult UpFile()

{

  //项目根目录文件夹 Files

  string fileDir = Server.MapPath("~/Files/") + DateTime.Now.ToString("yyyy/MM/dd/");//根据上传的年月日创建目录

  if (!System.IO.Directory.Exists(fileDir))//判断目录是否存在,不存在就创建。

  {

    System.IO.Directory.CreateDirectory(fileDir);

  }

  HttpPostedFileBase httpFile = Request.Files["imgfile"];//获取上传文件信息

  httpFile.SaveAs(fileDir + httpFile.FileName);//保存文件

  return JavaScript("alert('OK');");

}

}

}

2.在view层的页面Index.cshtml中添加如下代码:

@{

ViewBag.Title = "文件上传";

}

<h2>文件上传</h2>

@using (Html.BeginForm("UpFile", "UpFile", FormMethod.Post, new { enctype = "multipart/form-data" }))

{

  @Html.AntiForgeryToken()

  <p>

  选择文件上传:

  <input type="file" name="imgfile" />

  <input type="submit" value="提交" />

  </p>

}

就这样完成了。