Ich erstelle eine API zum Herunterladen meines Berichts im PDF-Format. Dafür verwende ich Java (Spark Framework) und Jaspis Reporting Tool alles funktioniert gut.Kann den Standarddateinamen nicht mit dem Jasper-Bericht festlegen
Problem ist, dass, wenn ich meine api von Postbote für die PDF der Standardname lautet „response.pdf.pdf“ bin schlagen, und ich will es „report.pdf“
hier ist meine Methode.
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();
};
Bitte schlagen Sie vor, wo ich falsch liege.
@AlexK wir den Bericht über die „exportReportToPdfStream“ und die Lösung für Ihren Link wird mit „exportReportToPdfFile“ schreiben. –
Duplizieren: [? Wie der Name erzeugt mit Jasper pdf-Datei ändern können] (http://stackoverflow.com/q/41218899/876298) –
@AlexK noch kein Glück. –