Получение ошибки при создании ImagesController в MVC 4 - PullRequest
0 голосов
/ 03 декабря 2011

Я пытаюсь создать ImagesController в MVC4, как это

enter image description here

Но я продолжаю получать эту ошибку.

enter image description here

Не возникало проблем при создании контроллера для PeopleController с использованием этого класса

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; }
}

1 Ответ

1 голос
/ 03 декабря 2011

Проблема с вашим свойством File в классе Image. Потому что EntityFramework не понимает тип HttpPostedFileBase и не может сохранить его в БД, а генератор контроллера достаточно умен, чтобы это проверить. Хотя сообщение об ошибке не говорит вам, в чем проблема. Чтобы это исправить, вам нужно переписать ваше свойство для использования байтового массива:

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

И тогда генерация контроллера должна работать. И вы можете добавить свое собственное действие по загрузке изображений, примерно так:

[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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...