Файл PDF открывается в том же окне, но я хочу открыть его как отдельный файл - PullRequest
2 голосов
/ 02 ноября 2010

Файл PDF открывается в том же окне, но я хочу открыть его как отдельный файл без Сохранить как диалоговое окно.

Вот соответствующий фрагмент кода сервлета:

response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
response.setHeader("Content-Disposition", "attachment;filename=_blank_");
response.setContentType("application/pdf");
response.setContentLength(baos.size());
ServletOutputStream out = response.getOutputStream();
baos.writeTo(out);
out.flush();

Есть предложения?

Ответы [ 2 ]

3 голосов
/ 02 ноября 2010

У вас есть две возможности:

  1. Content-Disposition: attachment;filename=foo.pdf
  2. Content-Disposition: inline;filename=foo.pdf

В первом из них пользователю предлагается сохранить файл и диалогзависит от браузера, вы не можете сделать с этим многое из сценария на стороне сервера.Второй открывает PDF-файл в браузере, если есть зарегистрированная программа, способная делать это, например, Adobe Reader.

0 голосов
/ 27 июля 2012

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

В сервлете вы должны добавить следующий код
webAppAccess.getHttpServletResponse (). SetHeader ("Content-Disposition", "inline; filename = printReport.pdf");

и в файле jsp

**window.open('PrintReportConsumer?operation=getShortReport&customerNumber=400000852&relationNumber=400000852&fromDate=29-Jun-2012&toDate=02-Jul-2012&languageId=en&language=en');**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...