Frage

Ich versuche, in MVC4 einen ImagesController wie dieses zu erstellen

enter image description here

Aber ich bekomme diesen Fehler immer wieder.

enter image description here

Hatte kein Problem damit, einen Controller für PeopleController mit dieser Klasse zu erstellen

public class Person
{
    public int Id { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public virtual IEnumerable<Affair> Affairs { get; set; }
}
War es hilfreich?

Lösung

Das Problem ist mit Ihrem File Eigentum auf der Image Klasse. Weil EntityFramework den Typ nicht versteht HttpPostedFileBase Und kann es nicht im DB speichern und der Controller -Generator ist klug genug, um dies zu überprüfen. In der Fehlermeldung sagt Ihnen die Fehlermeldung nicht, was das Problem ist. Um dies zu beheben, sollten Sie Ihre Eigenschaft neu schreiben, um ein Byte -Array zu verwenden:

public class Image
{
    ...
    public byte[] File { get; set; }
}

Und dann sollte die Controller -Generation funktionieren. Und Sie können Ihre eigene Image -Upload -Aktion hinzufügen, so ähnlich wie folgt:

[HttpPost]
public ActionResult Upload(Image image, HttpPostedFileBase file)
{
    if (ModelState.IsValid)
    {
        db.Entry(image).State = EntityState.Modified;
        image.File = new byte[file.ContentLength];
        file.InputStream.Read(image.File, 0, file.ContentLength); 
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(image);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top