Obtener error al crear ImagesController en MVC 4
-
27-10-2019 - |
Pregunta
Estoy tratando de crear un controlador de imágenes en MVC4 como este
Pero sigo recibiendo este error.
No tuvo problemas para crear controlador para PeopleController usando esta clase
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; }
}
Solución
El problema es con tu File
propiedad en el Image
clase. Porque EntityFramework no entenderá el tipo HttpPostedFileBase
Y no puede almacenarlo en el DB y el generador del controlador es lo suficientemente inteligente como para verificar esto. Sin embargo, el mensaje de error no le dice cuál es el problema. Para solucionar esto, debe reescribir su propiedad para usar una matriz de bytes:
public class Image
{
...
public byte[] File { get; set; }
}
Y luego la generación del controlador debería funcionar. Y puede agregar su propia acción de carga de imagen, algo como esto:
[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);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow