Ola galera, tenho esta pequeninha imagem e tenho que exibir ela na minha pagina…
<h:graphicImage id="imagemVisualizador"
styleClass="imagemVisualizador"
value="#{visualizador.visualizador.arquivoVisualizacao}"
/>
seto pro graphicImage uma url que vai chegar no meu servlet…
e vai chamar…
[code]FileInputStream in = new FileInputStream(arquivo);
ServletOutputStream sos = response.getOutputStream();
byte[] buf = new byte[10240];
int cont = 0;
while ((cont = in.read(buf)) >= 0)
{
sos.write(buf, 0, cont);
}
in.close();
sos.close();[/code]
mas nao sei porque raios… depende do navegador/maquina a imagem n abre…
da uma exception de IO no servidor…
ClientAbortException
SEVERE: Erro de I/O
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
…
alguem me ajuda
tem um tamanho de buffer que seja mais padrao ?
ja tentei diminuir… ja tentei aumentar… sei la…
ja tentei
IOUtils.copyLarge(fis,fos);
tbm …
// ServletOutputStream sos = response.getOutputStream();
// RenderedOp src = JAI.create("fileload", arquivo);
// String extensao = Arquivo.getExtensao(arquivo);
// ImageEncoder encoder = ImageCodec.createImageEncoder(extensao,sos, null);
// encoder.encode(src);
PS:MIME TYPE
ServletContext sc = getServletContext();
String mimeType = sc.getMimeType(caminhoFisicoDaImagem);
response.setContentType(mimeType);