在MVC 4中编辑控制器文件上载代码

时间:2014-04-19 06:55:35

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

[HttpPost]
        public ActionResult Edit(AdulLiteracyTeachers adulliteracyteachers, HttpPostedFileBase[] files)
        {
            if (ModelState.IsValid)
            {

                db.Entry(adulliteracyteachers).State = EntityState.Modified;



                foreach (HttpPostedFileBase file in files)
                {
                    if (file != null)
                    {

                        string path = System.IO.Path.Combine(
         Server.MapPath("~/Content/Uploads/"),System.IO.Path.GetFileName(file.FileName));
                        file.SaveAs(path);
                        adulliteracyteachers.Image = file.FileName;
                    }

                }

                db.SaveChanges();

                return RedirectToAction("Index");
          }
      }

使用此代码成功编辑文件...我想在编辑时添加新文件,编辑上一个文件将在目录中删除.... ??

2 个答案:

答案 0 :(得分:1)

我认为更好的是当您保存图片时,您还可以保存ID为adulliteracyteachers的另一个表中的路径,然后在更新时,您只需检索有关adulliteracyteachers ID的旧路径并使用File.Delete(oldPath)并更新adulliteracyteachers.Image=file.fileName

答案 1 :(得分:0)

您可以通过定义其地址来删除目录中的文件:

   DirectoryInfo directory = new DirectoryInfo("YouFolderPath");
            if (directory.Exists)
                foreach (var item in directory.GetFiles()) {
                    item.Delete();
                }

之后你可以重复使用它。