retrievefile文件字节为0_极客起源 - geekori.com - 问题详情 - java下载文件,文件名字是对的,但是文件大小为0 在线急!~!!!...

OutputStream os = null;

try {

filename = new String(filename.getBytes("iso-8859-1"), "UTF-8");

// String path = request.getRealPath("\\upload_file\\"+filename);

String basePath = request.getSession().getServletContext()

.getRealPath("/");

String uploadPath = basePath.substring(0,

basePath.indexOf("crm_console"))

+ "upload_file/" + filename;

// String uploadPath =

// request.getServletContext().getRealPath("upload_file/"+filename);

File file = new File(uploadPath);

response.setCharacterEncoding("UTF-8");

filename = URLEncoder.encode(filename, "UTF-8");

os = response.getOutputStream();

response.reset();

response.setHeader("content-disposition", "attachment;filename="

+ filename);

response.setContentLength((int) file.length());

int len = 0;

byte[] buffer = new byte[1024];

InputStream is = new FileInputStream(file);

while ((len = is.read(buffer)) != -1) {

os.write(buffer, 0, len);

}

is.close();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

os.flush();

os.close();

} catch (IOException e) {

}

}

return null;

暂无评论!

提交评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值