Ottenere l'errore durante la creazione di immagini dicontroller in MVC 4
-
27-10-2019 - |
Domanda
Sto cercando di creare uncontroller di immagini in mvc4 come questo
Ma continuo a ricevere questo errore.
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; }
}
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);
}