如何使用JasperReports API将生成的pdf保存到服务器中

时间:2012-08-29 13:09:25

标签: java jasper-reports

我需要将生成的 PDF 文件保存到我的服务器中。我正在使用 JasperReports API

PDF 生成的代码示例:

//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();

它直接生成文件并要求下载。我想将生成的文件存储到服务器中。

1 个答案:

答案 0 :(得分:1)

您需要将字节写入服务器上的本地文件,而不是将其写回HttpResponse。 您的代码可能如下所示:

FileOutputStream fileOuputStream = new FileOutputStream("C:\\report.pdf");
fileOuputStream.write(bytes);
fileOuputStream.close();