2013-08-12 5 views
0

Я успешно создаю отчет в своем веб-приложении. Мне нужен этот файл будет доступен на стороне клиента, и я сделал это:Открыть файл Pdf, созданный в Java-приложении.

String serverHomeDir = System.getenv("CATALINA_HOME"); 
     String reportDestination = serverHomeDir + "/Reports/" + user + "_" + church + "_" + currdate + ".pdf"; 
     response.setContentType("application/pdf"); 
     response.setHeader("Content-Disposition", "attachment; filename=" + reportDestination); 

Ф доступ к файлу в каталоге может быть успешно открыто. Однако одно скачивание на стороне клиента не может быть открыто. Он дает эту ошибку:

enter image description here

Что я делаю неправильно или не делать?

ответ

1

Вы должны прикрепить файл в виде массива байтов в своем ответе:

String serverHomeDir = System.getenv("CATALINA_HOME"); 
String reportDestination = serverHomeDir + "/Reports/" + user + "_" + church + "_" + currdate + ".pdf"; 

FileInputStream fis = new FileInputStream(new File(reportDestination)); 

// Fast way to copy a bytearray from InputStream to OutputStream 
org.apache.commons.io.IOUtils.copy(fis, response.getOutputStream()); 
response.setContentType("application/pdf"); 
response.setHeader("Content-Disposition", "attachment; filename=" + reportDestination); 
response.flushBuffer(); 
+0

'IOUtils.copy (диез, response.getOutputStream());' терпит неудачу на метод копирования. Какой класс это? – ErrorNotFoundException

+0

Apache commons io –

+0

Спасибо, что вы правы. Я весьма признателен. – ErrorNotFoundException

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