ContentType - это application / pdf, но он все еще генерирует лист Excel - PullRequest
0 голосов
/ 07 октября 2009

Я использую следующий код для создания PDF-документа из JSP, но он создает лист Excel.

<%@ page buffer="7024kb" %>
<%@ page contentType="application/pdf"%>
<%
  String reportType=request.getParameter("reportType");
  String fileName=reportType;
  response.addHeader("Content-disposition", "attachment; filename="+fileName);
%>
<%= request.getParameter("file") %>

Можете ли вы сказать мне, почему это происходит? Как я могу исправить это?

1 Ответ

0 голосов
/ 09 октября 2009

Доставка файла из сервлета, а не из JSP, - гораздо более простой подход.

Получите ваш PDF в байтовый массив, и тогда вы можете сделать что-то вроде этого:

Код сервлета:

byte[] pdf = PDFObject.getBytes(); // You may need to use a ByteArrayOutputstream or similar depending on the PDF Object

out.write(pdf, 0, pdf.length);

Вы можете добавить свои выходные заголовки в HttpServletResponse как обычно.

Но вы уверены, что ваш объект представляет собой PDF-файл в виде листа Excel / CSV, а не PDF-файла? содержимое читается в Excel?

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