java批量打包下载

J2EE 码拜 9年前 (2015-04-22) 1782次浏览 0个评论

需要从服务器上下载大量的图片文件,所有在后台把这些图片写入压缩包,然后供下载,问题就是在打包的过程中,速度很慢的,需要等服务器的压缩压缩好后,才弹出浏览器的下载框,怎么才能在点击下载按钮后就弹出下载框,也就是希望能做到边打包边下载的效果,有没有人知道这种情况怎么解决呀!

java批量打包下载
速度,要速度啊,赶紧回复!
java批量打包下载
10分
这样不行的,换一种思路,把压缩包少放一点,比如100个文件,每10个文件打包,然后下载。
java批量打包下载
引用 2 楼 huxiweng 的回复:

这样不行的,换一种思路,把压缩包少放一点,比如100个文件,每10个文件打包,然后下载。

关键是有几千上万张的图片啊,就算100个文件分成10个压缩包,怎么一次性下载这10个压缩包呢?

java批量打包下载
10分
引用 3 楼 lwspace65 的回复:
Quote: 引用 2 楼 huxiweng 的回复:

这样不行的,换一种思路,把压缩包少放一点,比如100个文件,每10个文件打包,然后下载。

关键是有几千上万张的图片啊,就算100个文件分成10个压缩包,怎么一次性下载这10个压缩包呢?

前台控制下吧。每隔一段时间请求一下就好了

java批量打包下载
10分
引用 3 楼 lwspace65 的回复:
Quote: 引用 2 楼 huxiweng 的回复:

这样不行的,换一种思路,把压缩包少放一点,比如100个文件,每10个文件打包,然后下载。

关键是有几千上万张的图片啊,就算100个文件分成10个压缩包,怎么一次性下载这10个压缩包呢?

10个压缩包肯定不是一次性发过去的。
而且我觉得你的浏览器接收到压缩包之后,肯定得需要向服务器发出一个信号,告诉服务器压缩包我收到了,如果没收到就需要重新发送。
这算是一个通信的循环吧

java批量打包下载
10分
可以先把下载下来,然后写入压缩包。
java批量打包下载
5分
也就是希望能做到边打包边下载的效果,有没有人知道这种情况怎么解决呀!  
这个是关键 你想一边打包一边发送给客户。这个估计不好实现吧 发送给客户的文件都是提前JAVA读取的 你中途再往里面写东西 可能是不行的
建议你可以分2个功能按钮 一个是开始打包,然后弹出窗口后台正在打包,大概要多长时间,这个需要调整SESSION 如果要0-3个小时还可以接受 扫描需要打包的文件的总大小/每秒打包的速度
最后打包完成之后提示可以下载了 将下载链接写入数据库也可以 记录这个人操作了操作过  
java批量打包下载
5分
这种你只有做延迟,让用户感觉程序在运行。
1、ajax到后台去压缩,弹出层灰色,正在压缩,请稍候…..
2、成功后返回客户端再去下载。
当然你也可以用自己做一个线程池,压缩。然后在去访问。
java批量打包下载
已经解决,变打包边下载!
java批量打包下载
采用数据流方式。后台打包的时候将输出流定向到浏览器
java批量打包下载
 楼主怎么实现边打包边下载啊,,求大神指导啊,,,,急用
java批量打包下载
边打包边下载啦,不用创建临时文件

ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()));
		byte[] buffer = new byte[8192];
		int len = 0;
		for (ArrayList<String> rList : list) {
			File file = new File(rList.get(4));
			ZipEntry ze = new ZipEntry(rList.get(0)+"_"+rList.get(2)+"_"+rList.get(3)+"_"+("".equals(rList.get(1))?"未知车牌号":rList.get(1))+"_"+DateUtil.formatByPattern("HHmmssSSS")+suffix);
			zos.putNextEntry(ze);
			zos.setEncoding("gbk");
			BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
			while ((len = bis.read(buffer))!=-1) {
				zos.write(buffer, 0, len);
			}
			bis.close();
			zos.closeEntry();
		}
		zos.close();
java批量打包下载
求已解决问题的源码???

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java批量打包下载
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!