java循环下载多个文件

fengsky491 2008-11-04 03:26:01
下载用户选中的文件,不能用打包下载
循环下载单个文件,即通过浏览器,弹出“打开”,“保存”,“取消”对话框。
不过要求,下载完了一个文件,才接着下载另一个文件。

action中单个文件的下载代码:
 String fileName = f.getName();
HttpServletResponse response = ServletActionContext.getResponse();

response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));

response.setContentType("application/octet-stream");


InputStream in = new FileInputStream(f);
int i;
OutputStream out = response.getOutputStream();

try{
while ((i = in.read()) != -1) {
out.write(i);
}
out.flush();
in.close();
out.close();
}catch(Exception ex){
logger.debug(ex);
}

已经搞了好几天了,还是没有找到方法。
...全文
1874 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
DiscussQuestions 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fengsky491 的回复:]
java能不能和客户端硬盘交互?
[/Quote]

其实所有的东西都在服务器端运行了1~!
而在客户端只会看见服务器端发过去的html页面!~!
所以不能跟客户端硬盘交互吧
nf0011468 2008-11-04
  • 打赏
  • 举报
回复
貌似没用过这种方法,来观望下
herowzz 2008-11-04
  • 打赏
  • 举报
回复
mark 顶上
非典型射手 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fengsky491 的回复:]
java能不能和客户端硬盘交互?
[/Quote]

你要理解Java仅在服务器端运行,到客户端的仅仅是html
Jarvis-Li 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fengsky491 的回复:]
java能不能和客户端硬盘交互?
[/Quote]

好像是不能,那样的话想要知道一个人的电脑上有什么东西不就太容易了吗?

黑他
fengsky491 2008-11-04
  • 打赏
  • 举报
回复
java能不能和客户端硬盘交互?
fengsky491 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tdan129 的回复:]
JAVA不能控制客户端的下载进度,只能让用户一个一个的下.
如果要做循环下载,要用web来控制!
[/Quote]
现在就是要一个一个下,但不知道怎么控制啊。
就是要达到一个下完,另一个接着下。
落叶的葬礼 2008-11-04
  • 打赏
  • 举报
回复
JAVA不能控制客户端的下载进度,只能让用户一个一个的下.
如果要做循环下载,要用web来控制!
fengsky491 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 greyeagle 的回复:]
一次request应该只能有一次response吧,如果真要这样实现,估计得在选中的时候,每选一个文件就发送一次request请求,从而相应的处理一个文件.一次request多个response?看下面高人怎么解决吧
[/Quote]
我现在的想法是通过:window.open(url);来实现,但不知道怎么判断用户下载完成或者取消了。
greyeagle 2008-11-04
  • 打赏
  • 举报
回复
一次request应该只能有一次response吧,如果真要这样实现,估计得在选中的时候,每选一个文件就发送一次request请求,从而相应的处理一个文件.一次request多个response?看下面高人怎么解决吧
lihan6415151528 2008-11-04
  • 打赏
  • 举报
回复
关注

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧