Estou com um código que gera um relatório em pdf utilizando o JasperReport, tive q fazer alterações no relatório com um JasperReport + recente e quando chega na linha: JasperReport rel = JasperManager.loadReport(tmpEntra);
ocorre o seguinte erro: Error loading object from InputStream
Obs.: o código é um servlet
Relatorio em pdf
W
2 Respostas
K
posta o código ai lek
fica + facil analisar
abraços
W
ta ai o método:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
{//throws ServletException, IOException {
try
{
Map param = new HashMap();
String formato = request.getParameter("formato");
String nomeRelatorio = "/relatorio/" + request.getParameter("relatorio");
Enumeration e = request.getParameterNames();
while (e.hasMoreElements())
{
String p = (String)e.nextElement();
param.put(p,request.getParameter(p));
}
InputStream logo = getServletContext().getResourceAsStream("/relatorio/unifor.jpg");
param.put("logo", logo);
//System.out.println( ClassLoader.getSystemResource(nomeRelatorio).getPath().toString() );
InputStream tmpEntra = getServletContext().getResourceAsStream(nomeRelatorio);
JasperReport rel = JasperManager.loadReport(tmpEntra); //erro ocorre aqui
JasperPrint prin = JasperFillManager.fillReport(rel, param, ConexaoBD.conexao);
if (formato.equals("pdf"))
{
response.setContentType("application/pdf");
OutputStream saida = response.getOutputStream();
JasperManager.printReportToPdfStream(prin, saida);
saida.close();
}
else
{
if (formato.equals("xls"))
{
response.setContentType("application/msexcel");
OutputStream saida = response.getOutputStream();
JasperExportManager.exportReportToXmlStream(prin, saida);
//JasperManager.printReportToPdfStream(prin, saida);
saida.close();
}
else
{
if (formato.equals("html"))
{
response.setContentType("text/html");
//OutputStream saidaTmp = new OutputStream();
PrintWriter saida = response.getWriter();
//JasperExportManager.exportReportToXmlStream(prin, saidaTmp);
//JasperManager.printReportToPdfStream(prin, saida);
saida.close();
}
}
}
}
catch (Exception e)
{
String mensagem = e.getMessage();
System.out.println(e.getMessage() + e.getCause());
}
}
Criado 10 de julho de 2006
Ultima resposta 10 de jul. de 2006
Respostas 2
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Desmistificando WebAssembly: Alta performance,... Por Raphael Amorim — Casa do Codigo