文件下载关键代码

String filename = request.getParameter("filename");
//得到想客服端输出的输出流
OutputStream outputStream = response.getOutputStream();
//输出文件用的字节数组,每次向输出流发送600个字节
byte b[] = new byte[600];
//要下载的文件
File fileload=new File("C://ExportExecl/"+filename+"");
//客服端使用保存文件的对话框
response.addHeader("content-disposition", "attachment;filename="
+ java.net.URLEncoder.encode(filename, "UTF-8"));
//通知客服文件的MIME类型
response.setContentType(getServletContext().getMimeType(filename));
//通知客服文件的长度
long fileLength = fileload.length();
String length = String.valueOf(fileLength);
response.setHeader("Content_length", length);
//读取文件,并发送给客服端下载
FileInputStream inputStream = new FileInputStream(fileload);
int n = 0;
while((n=inputStream.read(b))!=-1){
outputStream.write(b,0,n);
}
//清除缓存
if(fileload.exists()){
fileload.delete();
System.out.println("已清除服务器缓存!");
}

转载于:https://www.cnblogs.com/taohome/p/5249394.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值