2014-10-18 3 views
2

У меня есть сервлет, который использует отчеты jasper для создания pdf. Этот pdf-файл отображается в веб-браузере с помощью метода JasperExportManager.exportReportToPdfStream(). Это прекрасно работает. Однако я хочу сохранить файл в папке, которая находится на сервере. Я пытался сделать это с помощью следующего кода:Сохранение отчета о яшме как pdf на сервере

String outputFile = getServletContext().getRealPath("/theFolder"); 
JasperExportManager.exportReportToPdfFile(jasperPrint, outputFile + "/thePDF.pdf"); 

Этот код не производит каких-либо ошибок и работает до завершения, но я не могу найти файл в любом месте на сервере. Что я делаю не так? Благодарю.

ответ

3

Если ваши журналы отладки jasper настроены хорошо. На выходе вы увидите путь, по которому создается ваш отчет.

ИЛИ вы можете использовать мой код

String path=System.getProperty("user.dir"); 
JasperExportManager.exportReportToPdfFile(this.jp, path + "/reports/Report.pdf"); 

Это позволит сохранить файл, в котором вы хотите относительно пути папки. При необходимости вы также можете указать абсолютный путь.

Также проверьте, присутствует ли отчет в целевой папке вашего проекта.

0
Try this 
JRExporter exporter = new JRPdfExporter(); 

/* 
* Saves the PDF file generated inside 
* ....../build/web/WEB-INF/resources/invoice/filename.pdf 
*/ 
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFile); 
exporter.exportReport(); 
0

У меня есть один и тот же код, и PDF сохраняется в: C: \ Users \ WebLogic \ AppData \ Roaming \ JDeveloper \ system11.1.1.3.37.56.60 \ o.j2ee \ DRS \ ВАШЕГО ПРОЕКТА \ ViewControllerWebApp. war \ YOUR FOLDER

Смежные вопросы