2010-10-26 3 views
1

У меня есть класс java, который создает файл PDF в папку на моем компьютере. Мне удалось подключить этот класс к ссылке в веб-приложении, и когда я нажму на эту ссылку, он создает PDF-файл и записывает его в папку на моем компьютере. Я бы хотел изменить это, и вместо этого отправьте ссылку в pdf в браузер. Как я могу это сделать? Класс не использует HttpRequests или аналогичный, и ссылка не является гипертекстовой ссылкой atm. Я ищу самый прямой способ отправить PDF в браузер.Как отправить PDF в браузер из веб-приложения Java?

+0

отправить PDF в браузере? Вы хотите иметь в виду «открыть/просмотреть PDF в браузере»? – pinichi

ответ

0

Вы должны уметь писать pdf-файл в поток, вы можете передать ему поток вывода из вашего ответа.

2
/* Java Code */ 
response.setContentType("application/pdf"); 
response.setHeader("Content-Disposition", "attachment; filename=path/to/file.pdf"); 
0

Есть несколько способов сделать это:

  1. Put PDF файл на каком-то месте доступны из Интернета, а затем перенаправить пользователя на URL, который приведет его к PDF файл (если ваш веб сервер поддерживает это). Перенаправление можно легко выполнить с помощью HTTP-заголовка «Местоположение».

  2. Отправить файл PDF в потоке ответа HTTP. Обратите внимание, что вам нужно будет установить соответствующий MIME-тип в HTTP-заголовке. Реализация зависит от веб-сервера/веб-структуры, которую вы используете в своем приложении.

+0

http://developers.itextpdf.com/question/how-can-i-serve-pdf-browser-without-storing-file-server-side –

1

я распечатать его (любой файл) в поток ответа из массива байтов, внутри сервлета

if(content != null) 
       { 
        response.setContentType("application/octet-stream"); 
              response.setHeader("Content-Disposition", "attachment; filename=\"" + fname + "\""); 
       response.setContentLength(content.length); 
       out.write(content); 
      }//where content is byte[] 
Смежные вопросы