我正在使用jasper報告創建pdf文檔,我需要從servlet中將該pdf文檔進行流式處理。任何人都可以幫助我在哪裏犯錯。這是我在我的應用程序中使用的代碼片段。如何從servlet流式傳輸pdf文檔?
ServletOutputStream servletOutputStream = response.getOutputStream();
String fileName="test.pdf";
response.setContentType("application/pdf");
response.setHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");
response.setHeader("Cache-Control", "no-cache");
try
{
Map parameters = new HashMap();
parameters.put("SUBREPORT_DIR", JasperReportFilepath);
parameters.put("TestId", testID);
JasperPrint jprint=JasperFillManager.fillReport(filePath, parameters, conn);
byte[] output=JasperExportManager.exportReportToPdf(jprint);
System.out.println("Size====>"+output.length);
servletOutputStream.write(output);
servletOutputStream.flush();
servletOutputStream.close();
System.out.println("===============>Streaming perfectly");
}
catch(Exception e)
{
System.out.println("===============>+JasperException"+e.getMessage());
}
,我不能得到任何錯誤信息also.Everything工作正常,但文件是不是流。請幫我解決問題。
尺寸打印是否正確?還要注意:'fileName'!='filePath'。不知道這是否只是另一個愚蠢的複製和粘貼錯誤;) – BalusC 2010-05-04 11:35:45