浏览 5583 次
锁定老帖子 主题:servlet文件下载
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-21
response.setCharacterEncoding("GBK"); ServletOutputStream out1 = response.getOutputStream(); int act = Integer.parseInt(request.getParameter("act")); String filename=""; if(act==1)filename="1.rar"; else if(act==2)filename="2.rar"; else if(act==3)filename="3.rar"; else filename="c.rar"; File file2 = new File("d:\\"+filename); if (!file2.exists()) { response.setContentType("application/x-download"); out1.print("file doesn't exist"); return; }else { response.setHeader("Content-Disposition", "attachment; filename=default\"" + "zip" + "\""); filename=filename.substring(filename.lastIndexOf("\\")); response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); } BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bis = new BufferedInputStream(new FileInputStream(file2)); bos = new BufferedOutputStream(out1); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } } catch (IOException e) { throw e; } finally { if (bis != null) bis.close(); if (bos != null) bos.close(); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-09-21
一部800MB电影就不行了.....
|
|
返回顶楼 | |
发表时间:2009-09-24
myworkfirst 写道 一部800MB电影就不行了..... 嗯,才学的,教我写个好的的嘛! |
|
返回顶楼 | |
发表时间:2009-10-06
response.getOutputStream()可以用flush(),让response缓存在客户端,这样不会造成客户端内存不足。response是可以用flush缓存到客户端的。
|
|
返回顶楼 | |
发表时间:2009-10-07
??????
|
|
返回顶楼 | |
发表时间:2009-10-10
zhwj184 写道 response.getOutputStream()可以用flush(),让response缓存在客户端,这样不会造成客户端内存不足。response是可以用flush缓存到客户端的。 嗯,谢谢
|
|
返回顶楼 | |
发表时间:2010-04-04
来学习的 LZ写的很不错
|
|
返回顶楼 | |