Cómo guardar el pdf generado con la API de JasperReports en el servidor
Frecuentes
Visto 5,855 veces
0
Necesito guardar mi generado (PDF) archivo en mi servidor. estoy usando API de JasperReports.
Ejemplo de código para (PDF) Generacion:
//Result set(rs)
//Report path (rptPath)
//Hash map (hmp)
//ServletOutputStream (sos)
//HttpServletResponse (resp)
JRResultSetDataSource jrrs = new JRResultSetDataSource(rs);
bytes = JasperRunManager.runReportToPdf(rptPath, hmp, jrrs);
sos = resp.getOutputStream();
resp.setContentType("application/pdf");
resp.setHeader("Content-Disposition", "attachment;filename="MyFile.pdf");
sos.write(bytes);
sos.flush();
sos.close();
Genera directamente el archivo y solicita la descarga. Donde quiero almacenar el archivo generado en el servidor.
1 Respuestas
1
Debe escribir bytes en el archivo local en el servidor en lugar de volver a escribirlo en HttpResponse para eso. Su código puede verse como:
FileOutputStream fileOuputStream = new FileOutputStream("C:\\report.pdf");
fileOuputStream.write(bytes);
fileOuputStream.close();
Respondido 29 ago 12, 14:08
Gracias compañero. Pero, estás escribiendo el archivo aquí. Pero, necesito almacenar ese mismo archivo en el servidor. No es necesario solicitar la descarga, internamente necesito guardar ese archivo. - Guía JD
¿Este código no se ejecuta en el propio servidor? En caso afirmativo, la escritura del archivo ocurrirá localmente, es decir, el propio servidor, ¿verdad? - Saurabh
Sí, tiene razón, pero ¿hay alguna otra forma de guardar ese archivo directamente en el servidor? - Guía JD
Puede usar runReportToPdfFile (jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/…, java.util.Map)) API ensode.net/jasperreports_database_pg3.html - Saurabh
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas java jasper-reports or haz tu propia pregunta.
Mi código anterior está generando un archivo pdf. Necesito guardar este archivo en el servidor. No debería solicitar la descarga del archivo. - JDGuide
Entonces, escriba el archivo en el disco usando las capacidades de Java IO... Realmente no entiendo su problema. - home
El archivo generado no debería solicitar la descarga. Debería guardarse internamente en mi servidor. - JDGuide