Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Trazer imagens do MYSQL e mostrar em pagina jsf

Estou utilizando JSF com bootstrap e estou querendo mostrar as imagens que estão no meu banco na minha pagina xhtml. Quando eu autentico já é retornado no meu objeto também um atributo com meu byte array mas como posso fazer para mostrar esse byte array como imagem no meu <p:imagegraphic> ou <img>?

3 respostas

vc precisa criar um servlet que pegue esse array de bytes e sirva com o content type correto.. acho que se vc der uma procurada, aqui no fórum já teve dúvida parecida.

Boa tarde Alberto pois é eu estou fazendo isso mas ele não gera a imagem já estou conseguindo inserir no bd, mas exibir não

@WebServlet(name = "CarregaImagem", urlPatterns = {"/CarregaImagem"})
public class CarregaImagem extends HttpServlet {

        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // recupera a imagem do banco em um Array de Bytes  
       // String nada = request.getParameter("id");
        Contas  conta = (Contas) request.getSession().getAttribute("USUARIOLogado");
         byte[] imagemStream =  new byte[conta.getFoto().available()];         
        OutputStream out = response.getOutputStream();          
        out.write(imagemStream);  
        out.flush();  
    } 
}
//Mostrar imagem
<h:graphicImage id="showphoto"    style="border-radius: 150px;border: 1px solid transparent; width:30px"  value="/CarregaImagem"/>
solução!

tenho um chute, tenta definir o content-type no response.