Cómo mostrar imágenes almacenadas en un campo BLOB


Resumen


Con páginas Active Server (ASP), puede ver imágenes almacenadas en campos BLOB (objeto binario grande) en el explorador de Internet. Este artículo proporciona información acerca de cómo mostrar una imagen GIF almacenada en la tabla de base de datos de ejemplo de Microsoft SQL Server pub_info.

Más información


La mayoría de los exploradores de Internet admiten la visualización de imágenes GIF y JPEG. Para mostrar una imagen, el explorador solicita la imagen desde un servidor Web. El servidor pasa la imagen al explorador como una transacción HTTP con un encabezado HTTP que contiene un tipo MIME de IMAGE/GIF o IMAGE/JPEG. Puede simular este comportamiento con páginas Active Server. En el ejemplo siguiente se crea un encabezado HTTP para una imagen y, a continuación, se usa la información binaria de un campo de imagen en SQL Server para proporcionar un GIF al explorador.
   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   %>
Este script solo muestra una imagen en la pantalla. Si desea mostrar una imagen de un documento HTML o ASP, debe hacer referencia a esta secuencia de comandos en una etiqueta de imagen. Por ejemplo, si desea mostrar esta imagen con un título que la describe, puede usar la siguiente página 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>
Nota La secuencia de comandos ASP supone que el campo de imagen (datos BLOB) de la tabla de SQL Server contiene una imagen GIF sin formato. Los exploradores de Internet suponen que los datos GIF o JPEG siguen el encabezado HTTP. Si la información sobrante está contenida en los datos BLOB , esta secuencia de comandos la pasará y la imagen no se mostrará correctamente. Esto es importante cuando se da cuenta de que la mayoría de los métodos para colocar imágenes en campos BLOB colocan información adicional en forma de encabezados con la imagen. Ejemplos de esto son Microsoft Access y Microsoft Visual FoxPro. Ambas aplicaciones guardan encabezados OLE en el campo BLOB junto con los datos binarios reales. Esta técnica también se puede aplicar a otros tipos de datos binarios, no solo a los gráficos. El explorador debe saber qué tipo de contenido se presenta. Para ello, especifique el tipo MIME adecuado en la variable Response. ContentType. Por ejemplo, si desea ver un documento de Word, debería establecer ContentType = "Application/MSWord".

Referencias


Para obtener los temas más recientes de Knowledge base y otra información de soporte técnico sobre Visual InterDev y las páginas de Active Server, consulte la siguiente página en el sitio de soporte técnico de Microsoft: