直接在页面上预览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中设置文件的头部信息