Я пытаюсь загрузить изображение в базу данных PostgreSQL. Я пытаюсь сохранить файл как двоичный файл, а затем вернуть новый вставленный идентификатор загруженного изображения, но всегда получаю внутреннюю ошибку сервера 500.
Вот мой контроллер:
public class ImageController : ControllerBase
{
private readonly ImageDbContext _context;
public ImageController(ImageDbContext context)
{
_context = context;
}
[HttpPost("api/Image/upload")]
public async Task<IActionResult> UploadImage(Image images, List<IFormFile> ImageData)
{
foreach (var item in ImageData)
{
if (item.Length > 0)
{
using (var stream = new MemoryStream())
{
await item.CopyToAsync(stream);
images.ImageData = stream.ToArray();
}
}
}
_context.Image.Add(images);
_context.SaveChanges();
return CreatedAtAction("ImageId", new { id = images.ImageId });
}
}
Вот моя модель:
namespace Upload_images_API.Models
{
public class Image
{
public int ImageId { get; set; }
public byte[] ImageData { get; set; }
}
}