Miałem ten sam problem, to znaczy po raz pierwszy obraz został poprawnie zapisany po stronie bazy danych, ale jeśli później walidacja nie powiodła się, a następnie próbowałem zapisać obraz ponownie po wprowadzeniu poprawnych danych, otrzymałbym 0x w kolumnie obrazu. Aby rozwiązać ten problem, zrobiłem to, co @Anna L.
powiedział:
byte[] photo = null;
if(model.Photo != null)
{
var stream = model.Photo.InputStream;
stream.Position = 0;
using(BinaryReader br = new BinaryReader(model.Photo.InputStream))
{
photo = br.ReadBytes(model.Photo.ContentLength);
}
}