public String emitirRelatorioSituacaoAno() {
try {
byte[] stream;
FacesContext facesContext = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext) facesContext
.getExternalContext().getContext();
String dirBase = servletContext.getRealPath("");
String caminhoImagem = dirBase
+ PropertiesUtil.getInstance().getResourceBundle(
"ApplicationConfigurator", "pt", "BR").getString(
"report.image.dir").replace("[BARRA]",
File.separator);
String caminhoJasper = dirBase
+ PropertiesUtil.getInstance().getResourceBundle(
"ApplicationConfigurator", "pt", "BR").getString(
"report.jasper.dir").replace("[BARRA]",
File.separator);
Map parametros = new HashMap();
parametros.put("IMAGES_URI", caminhoImagem);
stream = ReportUtil.gerarPdfBD(parametros, caminhoJasper
+ "report_Denuncia_Situacao_Ano.jasper");
HttpServletResponse res = (HttpServletResponse) facesContext
.getExternalContext().getResponse();
res.setContentType("application/pdf");
res.setHeader("Pragma", "public");
res.setHeader("Cache-control", "must-revalidate");
res.setHeader("Content-Disposition",
"attachment; filename=\"Relatorio_Situacao_Ano.pdf\"");
ServletOutputStream servletOutputStream = res.getOutputStream();
servletOutputStream.write(stream);
FacesContext.getCurrentInstance().responseComplete();
} catch (IOException ex) {
WebUtil.error(PropertiesUtil.getInstance().getResourceBundle(
"mensagens", "pt", "BR").getString("relatorio_msgErro"));
throw new ApplicationException(ex);
} catch (JRException ex) {
WebUtil.error(PropertiesUtil.getInstance().getResourceBundle(
"mensagens", "pt", "BR").getString("relatorio_msgErro"));
throw new ApplicationException(ex);
} catch (SQLException ex) {
WebUtil.error(PropertiesUtil.getInstance().getResourceBundle(
"mensagens", "pt", "BR").getString("relatorio_msgErro"));
throw new ApplicationException(ex);
}
return "RELATORIO_SITUACAO_ANO_EMITIDO";
}
Estou usando o código acima para criar um relatório e abrir aquela janela do browser com opção de abrir o arquivo ou salvar. Só que no IE quando eu seleciono a opção de abrir o arquivo ele abre o adobe, mas exibe esta mensagem: "Houve um erro ao abrir este documento. Este arquivo não pôde ser encontrado."
Quando eu tento a mesma ação no firefox ele funciona normalmente, mas no IE só estou conseguindo vizualizar o arquivo PDF se eu salvar no disco. Alguem sabe o que pode estar causando isso?
[]'s
