Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Versão original do produto: Serviços de Informações da Internet
Número de KB original: 173308
Resumo
Usando o Active Server Pages (ASP), você pode exibir imagens armazenadas em campos BLOB (Binary Large Object) em seu navegador da Internet. Este artigo fornece informações sobre como exibir uma imagem GIF armazenada na tabela de banco de dados de exemplo do Microsoft SQL Server pub_info.
Mais informações
A maioria dos navegadores da Internet suporta a exibição de imagens GIF e JPEG. Para exibir uma imagem, o navegador solicita a imagem de um servidor Web. O servidor passa a imagem para o navegador como uma transação HTTP com um cabeçalho HTTP contendo um tipo MIME de IMAGE/GIF
ou IMAGE/JPEG
. Você pode simular esse comportamento com as Páginas do Active Server.
O exemplo a seguir constrói um cabeçalho HTTP para uma imagem e, em seguida, usa as informações binárias de um campo de imagem no SQL Server para fornecer um GIF ao navegador.
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
%>
Esse script exibe apenas uma imagem na tela. Se você deseja exibir uma imagem de um documento HTML ou ASP, você deve se referir a esse script em uma tag de imagem. Por exemplo, se você deseja exibir esta imagem com uma legenda descrevendo-a, você pode usar a seguinte 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>
Observação
O script ASP pressupõe que o campo de imagem (Dados BLOB) na tabela SQL Server contém uma imagem GIF bruta. Os navegadores da Internet assumem que os dados GIF ou JPEG brutos seguem o cabeçalho HTTP. Se alguma informação estranha estiver contida nos dados BLOB, ela será passada por esse script e a imagem não será exibida corretamente. Isso se torna importante quando você percebe que a maioria dos métodos de colocação de imagens em campos BLOB coloca informações extras na forma de cabeçalhos com a imagem. Exemplos disso são o Microsoft Access e o Microsoft Visual FoxPro. Ambos os aplicativos salvam cabeçalhos OLE no campo BLOB junto com os dados binários reais.
Essa técnica também pode ser aplicada a outros tipos de dados binários, não apenas gráficos. O navegador precisa saber que tipo de conteúdo está sendo apresentado. Faça isso especificando o tipo mime adequado na variável Response.ContentType. Por exemplo, se você quisesse exibir um documento do Word, definiria o ContentType = "application/msword".
Referências
Para obter os artigos mais recentes da Base de Dados de Conhecimento e outras informações de suporte sobre o Visual InterDev e as Páginas do Servidor Ativo, consulte Suporte ao Visual InterDev.