2
respostas

Exibir imagens vindas do banco de dados

Boa tarde, consegui gravar as imagens e até exibir a image, porém quando eu atualizo a pagina ou faço uma outra requisição a imagem desaparece e fica como se não existisse , meu servlet para recuperar a imagem é esse.

@WebServlet(name = "CarregaImagem", urlPatterns = {"/CarregaImagem"})
public class CarregaImagem extends HttpServlet {
        @Override
        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");
        response.setHeader("Content-Type", getServletContext().getMimeType("image"));
        response.setHeader("Content-Disposition", "inline; filename=\"" +conta.getId()+ "\"");

        BufferedInputStream input = null ;
        BufferedOutputStream output = null ;

        try {
            input = new BufferedInputStream(conta.getFoto()); // Creates buffered input stream.
            output = new BufferedOutputStream(response.getOutputStream());
            byte[] buffer = new byte[8192];
            for (int length = 0; (length = input.read(buffer)) > 0;) {
                output.write(buffer, 0, length);
            }
        } finally {
            if (output != null) try { output.close(); } catch (IOException ex) {ex.getMessage();}
            if (input != null) try { input.close(); } catch (IOException ex) {ex.getMessage();}
        }


    } 

//exibir imagem
<h:graphicImage    style="border-radius: 150px;border: 1px solid transparent; width:30px" id="img" value="/CarregaImagem"/>
2 respostas

opa, só com o código não é suficiente para a gente saber o erro.. da alguma exception? a primeira coisa é vc tentar debugar para ver o que está acontecendo.

Alberto pior que depurei, e não aparece nenhuma exceção , tudo acontece aparente bem, porem a imagem só é mostrada na primeira vez , quando atualizo a pagina ou faço uma nova requisição a imagem quebra.