ASP.NET MVC 4 C # HttpPostedFileBase, как хранить файл

Модель

public partial class Assignment { public Assignment() { this.CourseAvailables = new HashSet(); } public string AssignmentID { get; set; } public Nullable SubmissionDate { get; set; } public string Status { get; set; } public Nullable Mark { get; set; } public string Comments { get; set; } public string FileLocation { get; set; } public virtual ICollection CourseAvailables { get; set; } }} 

controller

  public ActionResult Create(Assignment assignment) { if (ModelState.IsValid) { db.Assignments.Add(assignment); db.SaveChanges(); return RedirectToAction("Index"); } return View(assignment); } 

Посмотреть

 
model.FileLocation, new { type="file"})%> model.FileLocation) %>

Как сохранить файл, если я хочу сохранить файл в папке server / path, а в базе данных я хочу сохранить имя / строку Path.

    вы можете загрузить файл и сохранить его URL в таблице базы данных следующим образом:

    Посмотреть:

     @using(Html.BeginForm("Create","Assignment",FormMethod.Post,new {enctype="multipart/form-data"})) { ... 
    <%: Html.TextBoxFor(model => model.FileLocation, new { type="file"})%> <%: Html.ValidationMessageFor(model => model.FileLocation) %>
    ... }

    Действие:

     [HttpPost] public ActionResult Create(Assignment assignment) { if (ModelState.IsValid) { if(Request.Files.Count > 0) { HttpPostedFileBase file = Request.Files[0]; if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); assignment.FileLocation = Path.Combine( Server.MapPath("~/App_Data/uploads"), fileName); file.SaveAs(assignment.FileLocation); } db.Assignments.Add(assignment); db.SaveChanges(); return RedirectToAction("Index"); } } return View(assignment); } 

    Детали:

    Для лучшего понимания обратитесь к этой хорошей статье. Загрузка файла (или файлов) с помощью ASP.NET MVC

    Давайте будем гением компьютера.