Como servir imagens a partir de um database?

Você está construindo uma aplicação web para um departamento de Recursos Humanos. Uma parte desta aplicação é a exibição de um perfil do empregado, incluindo uma fotografia. Todas essas informações são armazenadas em um banco de dados.

Como voce extrai a foto do empregado para exibir na página?

O código a seguir apresenta o script para criar a tabela employee em um database  Sybase SQL Anywhere.

CREATE TABLE employee (
     id NUMERIC(12,0) NOT NULL,
     first_name VARCHAR(50) NULL,
     last_name VARCHAR(50) NULL,
     picture LONGVARBINARY NULL
)

O código a seguir mostra como usar a tag img em nossa vantagem, para chamar uma página dinâmica como a fonte da imagem. Lembre-se que o atributo src não se limita a arquivos estáticos. Na verdade, ele pode aceitar qualquer coisa, contanto que retorne uma imagem válida.

<img src="picture.cfm?id=100" />

O código a seguir mostra como usar a tag cfcontent para enviar um tipo de conteúdo diferente do padrão de volta ao browser. Neste exemplo, a resposta será uma imagem de bitmap extraído de um campo BLOB em um banco de dados.

<cfquery name="MyPicture" datasource="MyDataSource">
     select picture
     from person
     where id = #URL.id#
</cfquery>
<cfcontent type="image/x-ms-bmp" variable="#MyPicture.picture#">

by Philippe Randour


Leave a comment