javaweb 导出流与文件导出的区别(小心得)

今天被excel导出功能蒸腾了半天,因为之前的代码在本地导出是没问题的,但是放到服务器上就没用!

关键的原因是 我之前是用  FileOutputStream out = new FileOutputStream(localRoute);该方法会将文件放到 localRoute,指定的路径下,所以上传到服务器上后,会将文件下载到linux的 系统下面的localRoute,所以为什么我会一直有这个问题。 再换用了 ServletOutputStream out = response.getOutputStream();之后 这个 方法会调用浏览器的下载接口,将文件下载到浏览器的下载路径中,所以就可以在web上进行数据的下载。具体代码如下:

String fileName =null;

Workbook wb =  userService.exportXlsByChoice(column,colChine);//自定义方法返回workbook对象
fileName= new String(fileName.getBytes("UTF-8"), "ISO-8859-1");//解决中文乱码
 response.setContentType("application/vnd.ms-excel");  
 response.setHeader("Content-disposition", "attachment;filename="+fileName);  //给excel取表名
       
ServletOutputStream out = response.getOutputStream();//输出文件
 wb.write(out);
 out.flush();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值