如何在新选项卡中打开JasperReport PDF而不是下载它

时间:2018-02-28 20:51:04

标签: java pdf browser jasper-reports

我目前在Spring控制器中使用以下代码导致PDF文件被下载:

@RequestMapping(value = {"/testReport"}, method = RequestMethod.GET)
public void testReport(ModelMap model, HttpServletResponse response) throws IOException, JRException 
{
    Resource resource = new ClassPathResource("reports/testReport.jasper");
    InputStream jasperStream = resource.getInputStream();

    Map<String, Object> params = new HashMap<>();
    JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperStream);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, new JREmptyDataSource());

    response.setContentType("application/x-pdf");
    response.setHeader("Content-disposition", "inline; filename=testReport.pdf");

    final OutputStream outStream = response.getOutputStream();
    JasperExportManager.exportReportToPdfStream(jasperPrint, outStream);
}

我正在寻找一种不下载PDF文件的方法,而是在新的浏览器标签中打开它。这是调用此方法的HTML代码:

<a href="/reports/testReport" target="_blank">Test</a>

我很确定这与我的控制器方法中的最后两行有关,但我找不到任何关于如何将PDF导入新标签而不是使用Jasper下载文件的文档。

任何帮助将不胜感激!

谢谢!

****** ****** EDIT

这不是一个重复的帖子,我找到了解决方案并将其发布在答案中。

0 个答案:

没有答案