在頁面上顯示後臺回傳的PDF檔案
阿新 • • 發佈:2019-01-01
直接在頁面上預覽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中設定檔案的頭部資訊