Exibir BLOB no JSP

198 views
Skip to first unread message

Rodrigo Bisterço

unread,
Apr 9, 2010, 8:47:00 PM4/9/10
to caelum-...@googlegroups.com
Pessoal,

No VRaptor, como devo fazer para exibir um campo BLOB no JSP?
Este campo BLOB contém uma imagem e estou utilizando Hibernate.

Muito obrigado
Rodrigo Bisterço

Lucas Cavalcanti

unread,
Apr 9, 2010, 9:44:49 PM4/9/10
to caelum-...@googlegroups.com
o campo
Blob#getBinaryStream()

contém o conteúdo do Blob...

pra mostrar esse blob, vc vai precisar criar uma lógica que retorna esse binary stream...
algo assim deve resolver: (supondo que é uma imagem de uma casa)

@Path("/casas/{casa.id}/imagem")
public InputStream imagem(Casa casa) {
     Casa loaded = dao.load(casa);
     return loaded.getImagem().getBinaryStream();
}

daí no jsp vc vai fazer algo do tipo:

<img src="<c:url value="/casas/${casa.id}/imagem"/>" alt="imagem da casa ${casa.id}" />

[]'s

--
You received this message because you are subscribed to the Google Groups "caelum-vraptor" group.
To post to this group, send email to caelum-...@googlegroups.com.
To unsubscribe from this group, send email to caelum-vrapto...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/caelum-vraptor?hl=en.

Rodrigo Bisterço

unread,
Apr 9, 2010, 10:40:33 PM4/9/10
to caelum-...@googlegroups.com
Lucas,

Mesmo o campo sendo Blob ele está mapeado como byte[] no arquivo xml e na entidade ... devo alterá-lo para Blob?

Muito obrigado.

Lucas Cavalcanti

unread,
Apr 9, 2010, 10:51:07 PM4/9/10
to caelum-...@googlegroups.com
se estiver como byte[] vc retorna na lógica:

return new ByteArrayInputStream(imagem);



2010/4/9 Rodrigo Bisterço <rodrigo....@gmail.com>

Rodrigo Bisterço

unread,
Apr 9, 2010, 11:31:53 PM4/9/10
to caelum-...@googlegroups.com
Lucas,

Seguindo o seu exemplo, ele não está recebendo o casa no parâmetro.
Onde eu posso ter errado?

Agradeço desde já.

Lucas Cavalcanti

unread,
Apr 9, 2010, 11:45:38 PM4/9/10
to caelum-...@googlegroups.com
substitua o casa pela entidade que tem o blob q vc falou... foi só um exemplo ;)

provavelmente onde vc for mostrar essa imagem, vc tb vai mostrar outros dados da sua entidade...
e com certeza vc vai ter o id dela disponível... é só passar na url da imagem de um jeito parecido com o exemplo q eu dei

[]'s

2010/4/10 Rodrigo Bisterço <rodrigo....@gmail.com>

Rodrigo Bisterço

unread,
Apr 9, 2010, 11:55:56 PM4/9/10
to caelum-...@googlegroups.com
Lucas ... eu já havia substituido ... kkkk ... (tow com sono mas nem tanto!!)

A kaka era outra. Funcionou !! Mais uma vez obrigado pelo apoio !!!

Um grande abraço.

Washington Botelho

unread,
Apr 16, 2010, 1:31:04 AM4/16/10
to caelum-...@googlegroups.com
Qual a melhor forma de converter o ByteArrayInputStream para File ou o inverso?

--

@wbotelhos
Washington Botelho dos Santos {
  http://wbotelhos.wordpress.com;

Lucas Cavalcanti

unread,
Apr 16, 2010, 8:47:26 AM4/16/10
to caelum-...@googlegroups.com
se vc tiver o commons-io:

IOUtils.copyLarge(bais, new FileOutputStream("arquivo"));
ou
IOUtils.copyLarge(new FileInputStream("arquivo"), new ByteArrayOutputStream(arrayDeBytes));
Reply all
Reply to author
Forward
0 new messages