0

我需要将生成的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();

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

4

1 回答 1

1

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

FileOutputStream fileOuputStream = new FileOutputStream("C:\\report.pdf");
fileOuputStream.write(bytes);
fileOuputStream.close();
于 2012-08-29T13:14:39.610 回答