Exibir imagem de um blob em JSP

8 respostas
E

:smiley: Para Todos,

DUVIDA:
Tenho uma imagem gravada em uma variavel do tipo blob em um banco de dados. Eu consigo extrair, [color=green]sem nenhum problema[/color], essa imagem do banco de dados e grava-la em um arquivo do tipo GIF, JPEG e etc.

Seria possível exiibir essa imagem e uma pagina JSP [color=red]sem[/color] ter que grava-la em um arquivo do tipo descrito ?

Obrigado pela atenção

8 Respostas

D

TUDO em se tratando te informação é byte…
logo basta você carregar sua variavel BLOB e coloca-la em um array de byte
o resto é com a API de imagens do JAVA…
boa sorte
[]'s dyorgio

W

vc pode usar uma servlet na sua pagina jsp para chamar a imagem

<img src=/servlet/ServletGerarImagem> gerar </img>

não esqueça de setar o contentType para “image/jpeg” do seu servlet

R

e o output do servlet seria o que?
o bytes da imagem, apenas?

M

microfilo:
e o output do servlet seria o que?
o bytes da imagem, apenas?

Exatamente.

R

só os bytes da imagem e nada mais além disso???

e como vai saber o formato, o nome do arquivo, etc?

M

microfilo:
só os bytes da imagem e nada mais além disso???

e como vai saber o formato, o nome do arquivo, etc?

O formato já foi no content type.

W

veja como ficaria o codigo da servlet

public void doPost(...){
        response.setContentType("image/jpeg");
        ServletOutputStream sos = response.getOutputStream();
        DAO dao = new DAO();
        byte[] array = null;
        try {
            TbFoto f = dao.findByPrimaryKey( ID X );
            array = f.getBiImagem(); //array de bytes
        } 
        catch (Exception e1) {
            e1.printStackTrace();
        }
		
        sos.write( array );
        sos.flush();
        
    }
E

pessoal, preciso recuperar um campo blob de uma tabela do mysql.
gostaria de saber se alguem sabe me dizer como fazer isso.
Atualmente preciso mostrar informações blob (imagem) em uma jsp utilizando a arquitetura J2EE utilizando Struts e Eclipse 3.2, alguem pode me ajudar, por favor!!!

Criado 18 de julho de 2005
Ultima resposta 25 de jan. de 2007
Respostas 8
Participantes 6