Lấy ảnh từ database SQL Server

Mình lưu trữ hìnnh ảnh trong SQL Server dưới dạng như sau:

(SELECT * FROM OPENROWSET(BULK N'C:\Users\ducpb\Documents\NetBeansProjects\Electro\web\image\Camera\21.1.png', SINGLE_BLOB) rs)

Cho mình hỏi h muốn lấy hình ảnh ra hiển thị trên website thông qua thẻ img thì cần làm gì?

Bạn phải viết một script để đọc binary data từ SQL Server và assign data đó vào một URI. Sau đó trong thẻ img bạn sử dụng URI này.

Để đọc binary data từ SQL Server, bạn có thể xem ví dụ tại đây:

Ví dụ này dùng các Stored Procedure, nhưng nếu bạn hiểu cách sử dụng thì bạn có thể điều chỉnh thành mã dùng C# (Tôi giả định bạn dùng .NET và C# với SQL Server).

Sau khi đã có binary data, bạn có thể viết một script để lưu nó dưới dạng một file trong một thư mục trong Web server và đưa đường dẫn thích hợp vào thẻ <img> hoặc trả về dữ liệu với mime type là image/png tương tự như ví dụ ở đây:

Ví dụ này dùng PHP và MySQL nhưng bạn có thể chuyển sang C# và SQL Server.

3 Likes

Sao đường dẫn lại là đường dẫn tuyệt đối thế kia? Thường thì chỉ lưu tương đối thôi chứ nhỉ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?