Question

Je suis en train de créer un ImagesController dans MVC4 comme ceci

entrer image description ici

Mais je continue à obtenir cette erreur.

entrer image description ici

n'a eu aucun problème pour créer contrôleur PersonnesController en utilisant cette 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; }
}
Était-ce utile?

La solution

Le problème est avec votre propriété File sur la classe Image. Parce que EntityFramework ne comprendra pas le type HttpPostedFileBase et ne peut pas le stocker dans le DB et le générateur de contrôleur est assez intelligent pour vérifier. Barbante le message d'erreur ne vous dit pas quel est le problème. Pour corriger cela, vous devez réécrire votre propriété à utiliser un tableau d'octets:

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

Et puis la génération de contrôleur devrait fonctionner. Et vous pouvez ajouter votre propre action de téléchargement d'image, quelque chose comme ceci:

[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);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top