galera, desenvolvi uma aplicação q abre um PDF armazenado no banco de dados em uma nova aba do browser
depois de colocar a aplicação no ambiente de produção, vi que este processo ficou bem mais lento. Me parece que é porque a aplicação esta transferindo o arquivo pdf para o cliente e então depois abrindo-o no browser.
gostaria de saber se há como apenas abrir o PDF em nova aba do browser, sem baixá-lo para o cliente automaticamente
meu código atual
public void abrirDocumentoNovaAba(String mimeContentType) throws IOException {
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
BufferedInputStream input = null;
BufferedOutputStream output = null;
try {
// Open file.
input = new BufferedInputStream(new ByteArrayInputStream(arquivoSelecionado.getConteudo()), DEFAULT_BUFFER_SIZE);
// Init servlet response.
response.reset();
response.setHeader("Content-Type", mimeContentType);
response.setHeader("Content-Length", String.valueOf(arquivoSelecionado.getConteudo().length));
response.setHeader("Content-Disposition", "inline; filename=\"" + arquivoSelecionado.getNome() + "\"");
output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);
// Write file contents to response.
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
// Finalize task.
output.flush();
}
finally{
close(output);
close(input);
}
facesContext.responseComplete();
}
estou usando JSF 2, primeFaces 3.3.1 e GlassFish 3.1
valeu