1. 程式人生 > >在頁面上顯示後臺回傳的PDF檔案

在頁面上顯示後臺回傳的PDF檔案

直接在頁面上預覽PDF,而不是下載,要下載的話,加上attachment;即可

    File file = new File(filePath, pdf);
        InputStream proxyIn = null;
        // 重置response物件中的緩衝區,該方法可以不寫,但是你要保證response緩衝區沒有其他資料,否則匯出可能會出現問題,建議加上
        try {
            proxyIn = new FileInputStream(file);
            response.reset();
            String filename = "協議書.pdf"
; filename = encodeFilename(filename, request); // 設定輸出檔案為 response.setHeader("Content-disposition", "filename=" + filename); response.setCharacterEncoding("utf-8"); // 由於匯出格式是excel的檔案,設定匯出檔案的響應頭部資訊 response.setContentType("application/pdf"
); // 用response物件獲取輸出流 OutputStream os = response.getOutputStream(); byte[] bos = new byte[proxyIn.available()]; proxyIn.read(bos); os.write(bos); os.flush(); // 關閉os if (os != null) { os.close(); } if
(null != proxyIn) { proxyIn.close(); }

response.setHeader(“Content-disposition”, “attachment; filename=” + new String(wordName.getBytes(“gbk”), “iso8859-1”) + “.pdf”);
這個是設定pdf下載的,如果不需要下載。直接在網頁中瀏覽就去掉attachment;
就可以在網頁中瀏覽的
response.setHeader(“Content-disposition”, “filename=” + new String(wordName.getBytes(“gbk”), “iso8859-1”) + “.pdf”);
就是說你要在servlet或jsp中設定檔案的頭部資訊