我不熟悉java,但我有一个任务要解决。我有一个jsr-286portlet。有一个download.jspx,带有一个按钮,可以下载pdf文件。该文件由byte[]数组中的api提供。我尝试用file.createtempfile()将文件保存在用户磁盘上,但当应用程序部署在weblogic服务器(门户)上时,它无法访问文件系统。如何创建从字节数组下载文件的按钮操作?
w6mmgewl1#
最后,我找到了从字节数组下载文件的解决方案在download.jspx中:
<af:commandButton text="Печать" id="cbPrint" styleClass="AFStretchWidth btn btn-default" inlineStyle="text-align:center; width:100.0px; font-size:14px;margin:10px"> <af:fileDownloadActionListener filename="download.pdf" contentType="application/pdf" method="#{RequestBean.downloadReport}"/> </af:commandButton>
在requestbean.java中
public void downloadReport(FacesContext facesContext, OutputStream outputStream) { try { outputStream.write(getPrintBytes()); outputStream.flush(); outputStream.close(); } catch (Exception e) { logger.log(Level.SEVERE, "downloadReport", e); } facesContext.responseComplete(); }
1条答案
按热度按时间w6mmgewl1#
最后,我找到了从字节数组下载文件的解决方案
在download.jspx中:
在requestbean.java中