Как отправить PDF в браузер из веб-приложения Java? - PullRequest
1 голос
/ 26 октября 2010

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

Ответы [ 4 ]

2 голосов
/ 26 октября 2010
/* Java Code */
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=path/to/file.pdf");
1 голос
/ 26 октября 2010

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

 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[] 
0 голосов
/ 26 октября 2010

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

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

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

0 голосов
/ 26 октября 2010

Вы должны быть в состоянии записать PDF в поток, вы можете передать ему выходной поток из вашего ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...