286)中的字节数组下载pdf文件?

i86rm4rw  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(317)

我不熟悉java,但我有一个任务要解决。
我有一个jsr-286portlet。有一个download.jspx,带有一个按钮,可以下载pdf文件。该文件由byte[]数组中的api提供。
我尝试用file.createtempfile()将文件保存在用户磁盘上,但当应用程序部署在weblogic服务器(门户)上时,它无法访问文件系统。
如何创建从字节数组下载文件的按钮操作?

w6mmgewl

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();
    }

相关问题