关于struts2文件批量下载 ,不用zip之类的压缩处理方式,怎么解决

发布于 2021-11-25 07:02:24 字数 346 浏览 883 评论 8

发问题前,先给出一个我和有相同疑问的帖子

http://bbs.csdn.net/topics/340121358

    我的问题是这样,web服务器上,某个目录下成对存放着两个文件,文件大小不定,大的可能好几百M,在没有好的体验解决方案前,直接不考虑服务器压缩打包成一个zip文件,因为压缩时间太长了!!其实我都是这么做了,但是客户直接否定!

然后就面临这个问题了,我怎么把两个文件一次下载到客户端??

要是觉得这个事情简单的话,希望先看前面链接的帖子,里面有不少讨论,都是各自的想法,但是都太儿戏了。

还请高手能给出个解决方案  ,拜谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

浮生未歇 2021-11-29 12:10:12

不可以一边压缩一边输出么?兄弟你想多了,既然压缩慢那就不要等压缩了再下载了,一边压缩一边下载不就好了么?

ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());

设置好头信息,主要是下载的文件名,zos里想压什么压什么,通过了得给我最佳答案哈。

柒夜笙歌凉 2021-11-29 09:03:55

隐藏一堆 a 标签,用js 去挨个click试试!
不确定OK!

混吃等死 2021-11-29 07:51:40

嗯,多谢指点,刚刚看了下,他的多文件下载,推荐使用了客户端安装程序,它的网页下载,也是采用了压缩后下载,只是它的压缩速度惊人的快!!我得看下java的快速压缩能不能搞

半世蒼涼 2021-11-29 04:50:42

没得一个事件同时下载两个文件的。你自己好好看看百度网盘。你看看人家怎么实现的。

笑红尘 2021-11-29 00:27:48

嗯,你的回答给了我灵感,呵呵,还是采用压缩吧,压缩前跳转到一个页面去提示“数据正在传输中..”,其实是在后台压缩,压缩完了,通过ajax给前台返回信息,接下来才触发真正的下载请求这时候去open链接,用这个手段先忽悠下吧,不行真的只能open若干次了,因为除开文件成对出现,还好有一个分页列表可以批量选择,到时候就是10*2次的open了,真不想看到这样的结果

爱的故事 2021-11-29 00:18:31

点击按钮后,触发js事件,open两次两个文件地址就完了,界面就一个地址啊.

梦里兽 2021-11-28 15:21:30

谢谢你的关注, 都不行的,前者已经被否定,压缩时间太长,体验太差 后者用js发生两次,我这里可能没描述清楚,界面只允许显示一个文件地址,然后点击下载后,后台默认把另外一个文件同步下载下来

柳絮泡泡 2021-11-28 05:55:40

服务端压缩后给客户端,

或,

js window.open两次.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文