Struts + Postgresql + Imagem

4 respostas
ivan.silva

Estou fazendo upload de uma foto na minha aplicação web Struts 1 de um campo do tipo FormFile e salvo no meu banco de dados através do hibernate de um campo byte[].

Salvou certo, agora estou carregando esse objeto do banco que tem esse campo byte[] e quero mostrar essa imagem no meu JSP.

Existe algum componente do Struts que monte essa imagem? ou a única opção é colocar na Session e montar a imagem no jsp?

Action

byte[] foto = objeto.getFoto();
session.setAttribute(“imagem”, foto);

JSP

<%

byte[] img = (byte[]) session.getAttribute(“imagem”);

OutputStream os = response.getOutputStream();

os.write( img );

%>

Mais uma dúvida. Qual a forma mais adequada de se guardar imagens para exibição? Banco de Dados? Pastas HD?

Att,

4 Respostas

alves.Felipe

Até onde eu sei, o Struts um não tem nada que “monte” a imagem…
nao precisa jogar na sessão… é so fazer lagum método do seu action “cuspir” a imagem…
acho que não tem a forma mais adequada… que depende de cada situação…
eu fiz um esquema de download… e fiz gravar as imagens em uma pasta, a principio ficava mais rápido…

ivan.silva

Alves,

Como tu mostraria essa imagem no JSP e como tu montaria essa imagem?

Tem como exemplificar?

Obrigado

Chileno

Alguem já achou a solução desse problema??

ivan.silva

Como ninguém achou uma solução prática para esse problema.

Não estou mais salvando as imagens em um banco de dados. Após eu trocar uma idéia com um DBA fiquei convencido que eu teria uma perca de performance no meu sistema ao carregar as imagens do Banco de Dados.

Resolvi então salvar as imagens em uma pasta fora do contexto para facilitar o backup dos arquivos.

O problema esta novamente em como exibir essa imagem no meu jsp.

Alguém sabe como exibir uma imagem que não esta dentro do contexto da aplicação?

Att,

Criado 26 de março de 2010
Ultima resposta 6 de mai. de 2010
Respostas 4
Participantes 3