PDF 导出地址 浏览器选择下载地址

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();

 

转载于:https://my.oschina.net/u/3723429/blog/1573838

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值