2017-02-18 58 views
0

我試圖用jasper報告生成pdf。它生成的很好,並直接存儲在指定路徑中。但我需要的是,它必須在直接下載之前顯示打開或保存選項。林用struts 1.x的Jasper下載選項生成報告瀏覽器不工作

這裏是我的代碼,我HVE寫在方法

String reportsPath = "D:/JasperReports/"; 
String reportName = "StatisticsReport"; 
Map<String, Object> parameters = new HashMap<String, Object>(); 
parameters.put("statisticsData", map); 

// Load JRXML 

JasperDesign mainReportDesign = JRXmlLoader.load(reportsPath + reportName + ".jrxml"); 
// Compile to generate .Jasper file 
    JasperCompileManager.compileReportToFile(mainReportDesign, reportsPath + reportName + ".jasper"); 

    System.out.println(reportsPath + reportName); 
       // Generate Jasper print 
    JasperPrint jasperPrint = JasperFillManager.fillReport(reportsPath + reportName + ".jasper", parameters, 
          new JREmptyDataSource()); 

    String pdfFileName = "D:/JasperReports/StatisticsrReport.pdf"; 
       // Export PDF file 
    response.addHeader("Content-disposition", "attachment; filename=StatisticsrReport1.pdf"); 
       JasperExportManager.exportReportToPdfFile(jasperPrint,pdfFileName); 

回答

0

瀏覽器會提示保存或打開文件時,響應內容類型爲application/x-download。例如:

//String pdfFileName = "D:/JasperReports/StatisticsrReport.pdf"; 
response.setContentType("application/x-download"); 
response.addHeader("Content-disposition", "attachment; filename=StatisticsrReport1.pdf"); 
OutputStream out = response.getOutputStream(); 
JasperExportManager.exportReportToPdfStream(jasperPrint,out);//export PDF directly 
//return null ActionForward, no extra data is appended to output stream 
+0

讓我檢查並取回給您。 –

相關問題