2017-11-15 PDF导出路径选择问题
前导出pdf的路径是固定的,发现满足不了需求,需要根据客户自定义的存储路径去下载pdf,后来找到一个JFileChooser的这个方法,但是能满足在自己的电脑上进行弹窗选择路径,但后来项目部署到服务器上的时候,发现客户点击导出功能的时候,弹窗只会弹出在服务器上面,客户端没有响应。后来找了半天才找到实现的办法
下面贴相关代码:
//表名
String title = "客户报价单管理表.pdf";
//转换一下格式,否则表名会无法解析
String fileName = URLEncoder.encode(title,"UTF-8");
//这里会让浏览器弹窗下载
response.setContentType("application/x-msdownload");
//这里会去找下载地址
String str = request.getServletContext().getRealPath("/客户报价单管理表.pdf");
//消息头,告诉浏览器文件名字和类型
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
response.setHeader("Content-Type", "application/octet-stream");
//开始写操作
PdfWriter.getInstance(document,new FileOutputStream(str));
document.open();
。。。。。。
//最后需要把地址给IO流
InputStream in = new FileInputStream(str);
BufferedInputStream input = new BufferedInputStream(in);
OutputStream os = response.getOutputStream();
byte[] bytes = new byte[input.available()];
input.read(bytes);
os.write(bytes);
input.close();
in.close();
os.close();