2017-01-03 5 views
0

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.

+0

@AlexK wir den Bericht über die „exportReportToPdfStream“ und die Lösung für Ihren Link wird mit „exportReportToPdfFile“ schreiben. –

+0

Duplizieren: [? Wie der Name erzeugt mit Jasper pdf-Datei ändern können] (http://stackoverflow.com/q/41218899/876298) –

+0

@AlexK noch kein Glück. –

Antwort

0

Ich denke, es eine "Sample Berichtsnamen zu drucken" ist Problem mit Postboten beim Umbenennen der PDF-Datei.

habe ich versucht, mit einer Beispielanwendung und versuche, meinen Bericht von Browser herunterladen und es funktioniert mit dem Namen in Ordnung.

danke für Hilfe Alex k und m 1987 wirklich zu schätzen wissen.

0
  • Jasper Bericht API

Wenn Sie mit Jasper API sollten Sie Berichtsnamen mit Hilfe von JasperPrint.setName (java.lang.String name) Methode gesetzt.

  • Für iReport (Bearbeitung Berichtsvorlage) Satz Berichtsnamen in Berichtsvorlage mit Hilfe von Namensattribut: Jasper .. name =
+0

@m 1987 JasperPrint.setName() hat auch nicht funktioniert. –

Verwandte Themen