Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
438 views
in Technique[技术] by (71.8m points)

primefaces - download pdf file from outside glassfish container

I'm trying to download pdf file created by another application and stored in a folder (D:forDownloadpdfs) which are outside of my web container (Glassfish). I'm using primefaces 8.0 RC1 and windows server 2012

question from:https://stackoverflow.com/questions/65879528/download-pdf-file-from-outside-glassfish-container

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

pb solved with this:

        File file = new File("D:forDownloadpdfs\"+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();  

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...