Jak wyświetlać obrazy przechowywane w polu obiektu BLOB


Podsumowanie


Za pomocą stron ASP (Active Server Pages) można wyświetlać obrazy przechowywane w polach obiektu BLOB (duże obiekty binarne) w przeglądarce internetowej. W tym artykule podano informacje na temat wyświetlania obrazu GIF przechowywanego w tabeli przykładowej bazy danych programu Microsoft SQL Server pub_info.

Więcej informacji


Większość przeglądarek internetowych obsługuje wyświetlanie obrazów GIF i JPEG. Aby wyświetlić obraz, przeglądarka żąda obrazu z serwera sieci Web. Serwer przekazuje obraz do przeglądarki jako transakcję HTTP za pomocą nagłówka HTTP zawierającego typ MIME obrazu/GIF lub obraz/JPEG. Możesz symulować to zachowanie za pomocą stron ASP. W poniższym przykładzie przedstawiono sposób konstrukcji nagłówka HTTP dla obrazu, a następnie użycie informacji binarnych z pola obrazu w programie SQL Server w celu udostępnienia pliku GIF w przeglądarce.
   FILE: SHOWIMG.ASP   <%@ LANGUAGE="VBSCRIPT" %>   <%   ' Clear out the existing HTTP header information   Response.Expires = 0   Response.Buffer = TRUE   Response.Clear   ' Change the HTTP header to reflect that an image is being passed.   Response.ContentType = "image/gif"   Set cn = Server.CreateObject("ADODB.Connection")   ' The following open line assumes you have set up a System DataSource   ' by the name of myDSN.   'Remember to change the following connection string parameters to reflect the correct values   'for your SQL server.   cn.Open "DSN=myDSN;UID=<username>;PWD=<strong password>;DATABASE=pubs"   Set rs = cn.Execute("SELECT logo FROM pub_info WHERE pub_id='0736'")   Response.BinaryWrite rs("logo")   Response.End   %>
Ten skrypt wyświetla tylko obraz na ekranie. Jeśli chcesz wyświetlić obraz z dokumentu HTML lub ASP, musisz odwołać się do tego skryptu w znaczniku obrazu. Jeśli na przykład chcesz, aby ten obraz był wyświetlany z podpisem opisującym to zdjęcie, możesz użyć następującej strony HTML:
   <HTML>   <HEAD><TITLE>Display Image</TITLE></HEAD>   <BODY>   This page will display the image New Moon Books from a SQL Server   image field.<BR>   <IMG SRC="SHOWIMG.ASP">   </BODY>   </HTML>
Uwaga W skrypcie ASP zakłada się, że pole obrazu (dane obiektu BLOB) w tabeli programu SQL Server zawiera Nieprzetworzony obraz GIF. Przeglądarki internetowe zakładają, że surowe pliki GIF lub JPEG są zgodne z nagłówkiem HTTP. Jeśli w danych BLOB znajdują się jakiekolwiek obce informacje, zostanie ono przekazane przez ten skrypt, a obraz będzie wyświetlany niepoprawnie. Jest to ważne, jeśli okaże się, że większość metod umieszczania obrazów w polach BLOB umieszcza dodatkowe informacje w formie nagłówków z obrazem. Przykłady takich funkcji jak Microsoft Access i Microsoft Visual FoxPro. Obie te aplikacje zapisują nagłówki OLE w polu BLOB wraz z rzeczywistymi danymi binarnymi. Ta technika może być również stosowana do innych typów danych binarnych, a nie tylko do grafik. Przeglądarka musi wiedzieć, jaki typ zawartości jest prezentowany. Aby to zrobić, należy określić odpowiedni typ MIME w zmiennej Response. ContentType. Jeśli na przykład chcesz wyświetlić dokument programu Word, ustaw wartość ContentType = "application/msword".

Informacje


Aby zapoznać się z najnowszymi informacjami na temat bazy wiedzy Knowledge Base Artices i inne informacje o pomocy technicznej dotyczące programu Visual InterDev i stron Active Server Pages, odwiedź następującą stronę witryny pomocy technicznej firmy Microsoft: