Domanda

Sto cercando di creare uncontroller di immagini in mvc4 come questo

enter image description here

Ma continuo a ricevere questo errore.

enter image description here

Non ha avuto problemi a creare controller per PeopleController utilizzando questa classe

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; }
}
È stato utile?

Soluzione

Il problema è con il tuo File Proprietà sul Image classe. Perché EntityFramework non capirà il tipo HttpPostedFileBase E non riesco a memorizzarlo nel DB e il generatore del controller è abbastanza intelligente da verificarlo. Tuttavia, il messaggio di errore non ti dice qual è il problema. Per risolvere questo problema dovresti riscrivere la proprietà per utilizzare un array di byte:

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

E quindi la generazione del controller dovrebbe funzionare. E puoi aggiungere la tua azione di caricamento delle immagini, qualcosa del genere:

[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);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top