刚刚完成创建文件上传功能;用于将图像上载到数据库。这很好。
下面的代码是控制器的缩短版本,其中只有一个图像。
[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");
答案 0 :(得分:0)
我认为您可能需要将“caradvert”实体附加到DbContext。在编辑功能中尝试此操作。
db.CarAdverts.Attach(caradvert); // Entity is in Unchanged state
db.Entry(caradvert).State = EntityState.Modified;
db.SaveChanges();