0

刚刚创建完文件上传功能;用于将图像上传到数据库。这工作正常。

下面的代码是控制器的简化版本,其中只有一个图像。

    [HttpPost]
            public ActionResult Create(CarAdvert caradvert,
                 HttpPostedFileBase picture1)
            {
                if (ModelState.IsValid)
                {

                    if (picture1 != null)
                    {
                        string image1 = picture1.FileName;
                        caradvert.Image1 = image1;
                        var image1Path = Path.Combine(Server.MapPath("~/Content/Images"), image1);
                        picture1.SaveAs(image1Path);
                    }
db.CarAdverts.Add(caradvert);
                 db.SaveChanges();
                 return RedirectToAction("Index");

创建记录后,所有图像都可以正常上传;控制器中的代码有效,只是当我尝试编辑上传的图像时出现问题。图像不会保存。

[HttpPost]
            public ActionResult Edit(CarAdvert caradvert,  HttpPostedFileBase picture1)
            {
                if (ModelState.IsValid)
                {

                    if (picture1 != null)
                    {
                        string image1 = picture1.FileName;
                        caradvert.Image1 = image1;
                        var image1Path = Path.Combine(Server.MapPath("~/Content/Images"), image1);
                        picture1.SaveAs(image1Path);
                    }


                db.Entry(caradvert).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
4

1 回答 1

0

我认为您可能需要将“caradvert”实体附加到 DbContext。在编辑功能中试试这个。

db.CarAdverts.Attach(caradvert);  // Entity is in Unchanged state
db.Entry(caradvert).State = EntityState.Modified;

db.SaveChanges();
于 2012-04-05T05:16:02.300 回答