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>
}

就这样完成了。

原文地址:https://www.cnblogs.com/shouwu/p/4024926.html