Ответ 1
Преобразуйте образ в byte[]
и сохраните его в базе данных.
Добавьте этот столбец в свою модель:
public byte[] Content { get; set; }
Затем преобразуйте изображение в массив байтов и сохраните его, как и любые другие данные:
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
Источник: Самый быстрый способ преобразования изображения в байтовый массив
var image = new ImageEntity(){
Content = imageToByteArray(image)
}
_Context.Images.Add(image);
_Context.SaveChanges();
Если вы хотите вернуть изображение, получите массив байтов из базы данных и используйте byteArrayToImage
и сделайте то, что хотите, с помощью Image
Это перестает работать, когда byte[]
становится большим. Он будет работать для файлов размером менее 100 МБ