Anzeigen von in einem BLOB-Feld gespeicherten Bildern
Ursprüngliche Produktversion: Internetinformationsdienste
Ursprüngliche KB-Nummer: 173308
Zusammenfassung
Mithilfe von Active Server Pages (ASP) können Sie Bilder anzeigen, die in BLOB-Feldern (Binary Large Object) in Ihrem Internetbrowser gespeichert sind. Dieser Artikel enthält Informationen zum Anzeigen eines GIF-Bilds, das in der Microsoft SQL Server Beispieldatenbanktabelle pub_info gespeichert ist.
Weitere Informationen
Die meisten Internetbrowser unterstützen die Anzeige von GIF- und JPEG-Bildern. Um ein Bild anzuzeigen, fordert der Browser das Bild von einem Webserver an. Der Server übergibt das Bild als HTTP-Transaktion mit einem HTTP-Header, der einen MIME-Typ von oder enthält, an den IMAGE/GIF IMAGE/JPEG Browser. Sie können dieses Verhalten mit Active Server Pages simulieren.
Das folgende Beispiel erstellt einen HTTP-Header für ein Bild und verwendet dann die binären Informationen aus einem Bildfeld in SQL Server, um eine GIF-Datei für den Browser bereitzustellen.
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
%>
Dieses Skript zeigt nur ein Bild auf dem Bildschirm an. Wenn Sie ein Bild aus einem HTML- oder ASP-Dokument anzeigen möchten, müssen Sie in einem Bildtag auf dieses Skript verweisen. Wenn Sie dieses Bild beispielsweise mit einer Beschriftung anzeigen möchten, die es beschreibt, können Sie die folgende HTML-Seite verwenden:
<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>
Hinweis
Das ASP-Skript geht davon aus, dass das Bildfeld (BLOB-Daten) in der SQL Server Tabelle ein unformatiertes GIF-Bild enthält. Internetbrowser gehen davon aus, dass gif- oder JPEG-Rohdaten dem HTTP-Header folgen. Wenn in den BLOB-Daten zusätzliche Informationen enthalten sind, wird dies von diesem Skript übergeben, und das Bild wird nicht ordnungsgemäß angezeigt. Dies wird wichtig, wenn Sie wissen, dass die meisten Methoden zum Platzieren von Bildern in BLOB-Feldern zusätzliche Informationen in Form von Kopfzeilen mit dem Bild platzieren. Beispiele hierfür sind Microsoft Access und Microsoft Visual FoxPro. Beide Anwendungen speichern OLE-Header im BLOB-Feld zusammen mit den tatsächlichen binären Daten.
Diese Technik kann auch auf andere Arten von Binärdaten angewendet werden, nicht nur auf Grafiken. Der Browser muss wissen, welche Art von Inhalt angezeigt wird. Geben Sie dazu den richtigen Mime-Typ in der Response.ContentType-Variablen an. Wenn Sie z. B. ein Wortdokument anzeigen möchten, legen Sie contentType = "application/msword" fest.
References
Die neuesten Knowledge Base-Artikel und weitere Supportinformationen zu Visual InterDev- und Active Server-Seiten finden Sie unter "Visual InterDev unterstützen".