Você pode gerar um arquivo de imagem a partir desse byte e exibir essa imagem gerada na tela.
Método que cria o arquivo imagem a partir de um array de bytes:
publicstaticfinalStringNOME_ARQUIVO_PADRAO="minha_imagem.png";privateFilecriarImagemDeArrayBytes(byte[]arrayBytesImagem){try{ByteArrayInputStreamarrayDeBytes=newByteArrayInputStream(arrayBytesImagem);BufferedImageimagemResultado=ImageIO.read(arrayDeBytes);FilearquivoImagem=newFile(NOME_ARQUIVO_PADRAO);ImageIO.write(imagemResultado,"png",arquivoImagem);returnarquivoImagem;}catch(Exceptione){thrownewRuntimeException("Não foi possível criar uma imagem a partir do array de bytes: "+e.getMessage());}}
A
alexpassos
Olá tentei usar seu código mas não consegui… coloquei assim para exibir na tela
<p:graphicImage id=“qrcode” library=“imagens” name="#{testesBean.arquivoImagem}" />
Mas da erro:
Advertência: JSF1091: Nenhum tipo de mime pôde ser encontrado para o arquivo . Para resolver isso, adicione um mapeamento de mime-type ao web.xml do aplicativo.
Grave: Error Rendering View[/paginas/testes/testes.xhtml]
java.io.IOException: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at org.primefaces.component.graphicimage.GraphicImageRenderer.encodeEnd(GraphicImageRenderer.java:44)
Como tenho que exibir esse arquivo gerado?
C
confuso
Desculpa, eu não entendo muito de JSF. O método que te passei apenas cria um arquivo para a imagem. Pensei que era só isso que precisava.