Cách lưu trữ hình ảnh trên web app và win app?

Xin chào mọi người,
Mình đang phát triển 1 phần mềm quản lý sản phẩm (có tính năng chọn thêm sản phẩm: Tên sản phẩm, giá cả, hình ảnh) và 1 website dùng để hiển thị các sản phẩm. Cả web app và win app đều dùng chung 1 database. Cấu trúc bản sản phẩm trong database:

KEY ID int,
Name nvarchar(50),
price int.
picture string

vấn đề của mình như sau: Do mình thiết kế web app (ASP.NET MVC) nên thuộc tính picture mình để là kiểu string (lưu tên của bức ảnh), trong thư mục web có folder Images, khi load lên web thì chỉ cần lấy tên của ảnh load lên thôi. Tuy nhiên với cách lưu trữ như vậy thì mình chưa biết phải xử lý bên win app như thế nào? Vì bên win app nếu muốn lưu ảnh vào database thì chuyển về kiểu binary…

Mong mọi người cho mình ý kiến. Mình xin cảm ơn!

Bên winapp cũng thường không lưu ảnh vào db. Em chỉ cần lưu đường dẫn của ảnh thôi. Trong thư mục app sẽ có 1 folder image là nơi chứa ảnh cần dùng.

1 Like

Bên win thì mình chỉ thạo C#. Trong C# có cái hàm gì gì để lấy thư mục hiện thời của app ý (Hình như là AppDomain.CurrentApplication.BaseDirectory() thì phải) sau đó thì “/tên file” là kết quả cũng như web thôi

1 Like

Vậy là mình cần tìm cách để up ảnh lên web server đúng không ạ? Cảm ơn anh

Cái này học mô hình phân lớp có đụng đến này:

  • Nếu desktop có thể update thông tin ,chỉnh sửa ảnh,dữ liệu và web app có thể nhận được sự thay đổi này:
    Có 2 trường hợp:
  • Nếu server không phải của bạn, phải thuê, không có đủ quyền truy câp thì lưu ảnh vào trong db vẫn dễ hơn, còn nếu lưu ảnh trên server web thì sẽ phức tạp hơn.
  • Nếu full quyền trên web server bạn thử cấu hình để đẩy ảnh lên thử. :smiley:
1 Like

Cảm ơn mọi người nha! Mình đã up ảnh lên web server thành công rồi!

Em cũng load ảnh như cách anh nói với webform nhưng sao bên em lại không hiển thị ảnh được trên web ạ. tên ảnh em đã kiểm tra rồi ạ;
Code em ạ:

art.InnerHtml += "<img src=Images/" + dr["photo"] +"height=200 width=200 /><br>";
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?