Если вы хотите обрабатывать загрузку файлов, вы должны использовать тип HttpPostedFileBase для представления изображения, а не байтовый массив:
public class Image
{
public int Id { get; set; }
public string Name { get; set; }
public string AlternateText { get; set; }
public virtual string CssClass { get; set; }
public HttpPostedFileBase File { get; set; }
}
тогда по вашему мнению вы будете использовать файл ввода:
@model Event
@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div>
@Html.LabelFor(x => x.Image.File)
@Html.TextBox(x => x.Image.File, new { type = "file" })
</div>
... some other fields
<button type="submit">OK</button>
}
и, наконец, у вас будет действие контроллера, к которому будет добавлена форма и которое сохранит файл:
[HttpPost]
public ActionResult Upload(Event model)
{
if (model.Image != null && model.Image.ContentLength > 0)
{
// an image was selected by the user => process and store it into the database
}
...
}
Вы также можете найти следующую запись в блоге полезной.