Bom dia,
estou realizando uploads de imagens usando o Commons IO da Apache e salvando no Postgresql como blobs. Consigo resgatá-las do banco e exibi-las no navegador usando response.getOutputStream().
Porém quando vou salvá-las do Firefox para o PC, ela vem como ‘.html’ e, mesmo alterando a extensão, o navegador informa “A imagem ‘xxx’ contém erros e não pode ser exibida.”. Quando salvo no Internet Explorer ela é salva como ‘.bmp’ e abre como tal.
Uso este código para exibi-las:
response.setContentType("image/jpg");
OutputStream outputStream = response.getOutputStream();
outputStream.write(imagem.getBytes()); //'imagem' é o objeto que contém o array de bytes.
outputStream.flush();
outputStream.close();
Tentei este também, que salva como ‘.png’ mas também dá o mesmo erro:
BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(imagem.getBytes()));
response.setContentType("image/png");
OutputStream outputStream = response.getOutputStream();
ImageIO.write(bufferedImage, "png", outputStream);
Alguma configuração que deve ser feita antes da exibição, ou no momento de salvar no banco? Uso JPA.