2012-04-05 16 views
0

Nur fertig mit dem Erstellen einer Datei-Upload-Funktion; um Bilder in eine Datenbank zu laden. Das funktioniert gut.Edit für das Hochladen von Bildern in eine Datenbank

Der folgende Code ist eine verkürzte Version des Controllers mit nur einem Bild.

[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"); 

Wenn ein Datensatz erstellt wird, werden alle Bilder hochgeladen. der Code im Controller funktioniert, gerade wenn ich die hochgeladenen Bilder versuche und bearbeite entsteht das Problem. Die Bilder werden nicht gespeichert.

[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"); 

Antwort

0

Ich denke, Sie müssen möglicherweise die "caradvert" -Entität an DbContext angefügt. Versuchen Sie dies in Bearbeitungsfunktion.

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

db.SaveChanges(); 
0

Ihr caradvert Objekt verfügt über eine Eigenschaft Image1, die wie eine 1 aussieht: 1 (oder n: 1) Beziehung, während es sollte 1: n, wenn ich Sie gut verstehen.

Sie müssen also die Zuordnung überarbeiten und CarAdvert eine Navigationseigenschaft Images haben. Sie fügen dann das neue Bild zu dieser Sammlung hinzu.

Verwandte Themen