微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 glassfish 容器外部下载 pdf 文件

如何解决从 glassfish 容器外部下载 pdf 文件

我正在尝试下载由另一个应用程序创建并存储在我的 Web 容器 (Glassfish) 之外的文件夹 (D:\forDownload\pdfs) 中的 pdf 文件。 我使用的是 primefaces 8.0 RC1 和 windows server 2012

解决方法

pb 解决了这个:

        File file = new File("D:\forDownload\pdfs\\"+bean.getCode()+".pdf");            
        InputStream fis = new FileInputStream(file);
        byte[] buf = new byte[204800];
        int offset = 0;
        int numRead = 0;  
        while ((offset < buf.length) && ((numRead = fis.read(buf,offset,buf.length - offset)) >= 0)) 
        {
          offset += numRead;
        }
        fis.close();

        HttpServletResponse response =
           (HttpServletResponse) FacesContext.getCurrentInstance()
               .getExternalContext().getResponse();

        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition","attachment;filename="+bean.getCode()+".pdf");
        response.getOutputStream().write(buf);
        response.getOutputStream().flush();
        response.getOutputStream().close();
        FacesContext.getCurrentInstance().responseComplete();  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。