我使用以下代码从JSP生成PDF文档,但它会生成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") %>
你能告诉我为什么会这样吗?我怎么能纠正这个?
答案 0 :(得分:0)
从Servlet而不是JSP提供文件是一种更容易的方法。
将您的PDF转换为字节数组,然后您可以执行以下操作:
Servlet代码:
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。
但是,由于它作为Excel / CSV工作表而不是PDF提供,您确定您的对象实际上是PDF吗?是Excel中可读的内容吗?