Làm sao để nhận dữ liệu hình ảnh từ API mà không cần lưu vào Database

Xin chào mọi người, mình đang làm một project C# gồm hai phần: 1 web ASP.NET MVC để khách hàng truy cập vào xem sản phẩm và đặt hàng, 1 winform để Admin quản lý sản phẩm và đơn đặt hàng. 2 project web và winform gọi API để lấy dữ liệu. Mình đang gặp vẫn đề là hai bên lưu trữ hình ảnh khác nhau (Vì trong DB mình chỉ lưu tên đường dẫn của ảnh). Mình ko biết khi admin thêm một sản phẩm mới ở winform thì hình ảnh của sản phẩm đó sẽ được lưu ở đâu để web có thể load lên được. Hiện mình tham khảo có hai giải pháp:

  1. Lưu ảnh vào DB (Cái này nhiều người khuyên hạn chế vì nếu nhiều ảnh sẽ nặng DB)
  2. Lưu ảnh ở một nơi nào đó trên mạng (giống như gg drive vậy) rồi khi chạy thì 2 project load ảnh về để show lên, nhưng mình chưa biết rõ làm như thế nào
    Các bạn nào có giải pháp nào hay hoặc có lời khuyên nào giúp mình ko ạ? Mình xin cám ơn nhiều

Cá nhân mình thì lưu ảnh dưới dạng string url, ảnh thì lưu ở s3 amazon web service.Bạn có thể tìm hiểu về s3

1 Like

Nếu web của bạn sở hữu host có dung lượng khá thì cũng có thể lưu lên host web mà? Winform thì cứ cho load ảnh ở mỗi lần app run :

var request = WebRequest.Create("http://www.gravatar.com/avatar/6810d91caff032b202c50701dd3af745?d=identicon&r=PG");

using (var response = request.GetResponse())
using (var stream = response.GetResponseStream())
{
    pictureBox1.Image = Bitmap.FromStream(stream);
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?