我正在創建api以PDF格式下載我的報告。 爲此,我使用java(火花框架)和碧玉報告工具 一切工作正常。無法使用Jasper報告設置默認文件名
問題是,當我從郵遞員打我的API爲PDF的默認名稱爲「response.pdf.pdf」,我希望它是「report.pdf」
這裏是我的方法。
private Route getReport = (req,res)->{
try{
res.raw().setHeader("Content-Disposition", "attachment; filename= \"report.pdf\"");
res.raw().setContentType("application/pdf");
JRDataSource dataSource = new JREmptyDataSource();
Map<String, Object> dataMap = new HashMap<>();
dataMap.put("cin", "556293-9982");
dataMap.put("financialYear","2009-05-01 - 2010-04-30");
JasperPrint jasperPrint = JasperFillManager.fillReport("reports/front-page.jasper", dataMap,dataSource);
JasperExportManager.exportReportToPdfStream(jasperPrint,res.raw().getOutputStream());
}catch(Exception ex){
res.type(ApplicationConstants.JSON_APPLICATION_CONTENT_TYPE);
throw new BusinessExceptions(ex, ApiErrorEnumerations.ERR_DOWNLOADING_REPORT);
}finally{
res.raw().flushBuffer();
res.raw().getOutputStream().close();
}
return res.raw();
};
請建議我哪裏出錯了。
@AlexK我們必須編寫關於「exportReportToPdfStream」的報告,並且鏈接的解決方案使用「exportReportToPdfFile」。 –
重複:[如何更改與JasperReports pdf文件生成的名稱?](http://stackoverflow.com/q/41218899/876298) –
@亞歷克斯仍然沒有運氣。 –