如何在MVC 4中的数据库中获取上传的文件名

时间:2014-04-17 08:33:27

标签: asp.net-mvc asp.net-mvc-4

我已使用此控制器上传文件

[HttpPost]
public ActionResult Create(AdulLiteracyTeachers adulliteracyteachers, HttpPostedFileBase[] files)
{
foreach (HttpPostedFileBase file in files)
{
string path = System.IO.Path.Combine(Server.MapPath("~/App_Data"), System.IO.Path.GetFileName(file.FileName));
file.SaveAs(path);
}
if (ModelState.IsValid)
{
db.AdulLiteracyTeachers.Add(adulliteracyteachers);
db.SaveChanges();
return RedirectToAction("Index");
}

视图是:

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

<label for="file">Upload Image:</label>
<input type="file" name="files" value="" multiple="multiple"/>

<input name="Upload" type="submit" value="Create" />

当我打开特定记录时,我想在数据库中保存文件名如何用名称生成图片?

1 个答案:

答案 0 :(得分:0)

  • 添加新表格AdultLiteracyTeacherFile
  • 将外键添加到AdulLiteracyTeacher主键
  • 在保存文件之前检查ModelState.IsValid
  • 首先保存教师记录以获取其ID
  • 将每个文件保存到磁盘,然后为每个文件保存一个新的AdultLiteracyTeacherFile,并将其引用回父教师文件。