pdf下载对话框窗口未出现在浏览器中。使用java的extjs 4 [英] pdf download dialog window not appear in browser. extjs 4 with java

查看:95
本文介绍了pdf下载对话框窗口未出现在浏览器中。使用java的extjs 4的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我能够使用JasperReports和Java生成pdf格式的报告。

I am able to generate a report in pdf form using JasperReports and Java.

生成的报告无法下载到客户端。
我使用以下代码生成pdf文件:

The generated report is not available to be downloaded to the client side. I am generating pdf file using the code below:

public void getTaskreportPDF(Session openSession,HttpServletRequest request,HttpServletResponse response) {
        try {   
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/contact","root","root");
Map params = getParameters(openSession);
Date date = new Date();
String reportfileName = "report"+date.getDate()+"-"+date.getMonth()+"-"+date.getYear()+"-"+date.getTime()+".pdf";
JasperDesign jasperDesign = JRXmlLoader.load(this.getClass().getResourceAsStream("/com/gantt/report/ganttreport.jrxml"));
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperprint = JasperFillManager.fillReport(jasperReport, params,con);
JRAbstractExporter exporterPDF = new JRPdfExporter();
exporterPDF.setParameter(JRExporterParameter.JASPER_PRINT, jasperprint);
exporterPDF.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());
response.setHeader("Content-Disposition", "inline;filename="+ reportfileName);
response.setContentType("application/pdf");
exporterPDF.exportReport();  
} catch(Exception exception) {
System.out.println("Error occured " +exception.getMessage());
}
}

我的firebug net标签显示我得到了pdf报告4 kb的文件作为回复。但问题是没有出现下载窗口,因此我无法保存或查看该报告。

My firebug net tab shows that I had got the pdf report file of 4 kb as response. But the problem is that download window not appear, so I cannot save it or view that report.

我的firebug显示:

Content-Disposition inline; filename = report21-0-112-1327135412907.pdf
Content-Type application / pdf

My firebug shows:
Content-Disposition inline;filename=report21-0-112-1327135412907.pdf Content-Type application/pdf

我犯了什么错误这使我的下载窗口不显示?

What mistake I am making which makes my download window not to appear?

推荐答案

使用附件代替<-c $ c>内联的Content-Disposition标题。

Use attachment instead of inline for the Content-Disposition header.

这篇关于pdf下载对话框窗口未出现在浏览器中。使用java的extjs 4的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆