我正在使用以下代码在jsf中以pdf格式下载字段的值。
尽管我可以下载pdf,但无法打开它。它显示“无法打开pdf”。
这里的编码有问题吗(尝试在getbytes()中提供UTF-8,但它也不起作用。)
public StreamedContent getGeneratePdf() throws IOException {
final PortletResponse portletResponse = (PortletResponse) FacesContext.getCurrentInstance().getExternalContext()
.getResponse();
final HttpServletResponse res = PortalUtil.getHttpServletResponse(portletResponse);
res.setContentType("application/pdf");
res.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
res.setHeader("Content-Disposition", "attachment; filename=\"letter.pdf\"");
res.setHeader("Refresh", "1");
res.flushBuffer();
OutputStream output = res.getOutputStream();
byte[] out=null;
out=this.getNotes().getBytes();
output.write(out);
output.flush();
output.close();
return null;
}
notes是从UI填充的string类型的属性。