社区
Web 开发
帖子详情
请问一次下载多个文件怎么做
wren4255
2013-12-19 09:50:36
我用的是wicket框架,一次下载一个文件很简单用自带的类,可是下载多个文件的时候怎么办呢 不能一个劲蹦保存框吧
目前只能想到两个办法
1所有选择文件放到一个文件夹
2把所有选择文件压缩成zip然后保存
不管哪种方法都不知道如何实现所以来这里提问
什么框架都行 请问大家一次下载多个文件是怎么做的?java语言
...全文
196
3
打赏
收藏
请问一次下载多个文件怎么做
我用的是wicket框架,一次下载一个文件很简单用自带的类,可是下载多个文件的时候怎么办呢 不能一个劲蹦保存框吧 目前只能想到两个办法 1所有选择文件放到一个文件夹 2把所有选择文件压缩成zip然后保存 不管哪种方法都不知道如何实现所以来这里提问 什么框架都行 请问大家一次下载多个文件是怎么做的?java语言
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
teemai
2013-12-19
打赏
举报
回复
一般直接打成zip包,下载这个文件
Tap殇
2013-12-19
打赏
举报
回复
/文件打包下载 public static HttpServletResponse downLoadFiles(List<File> files, HttpServletRequest request, HttpServletResponse response) throws Exception { try { /**这个集合就是你想要打包的所有文件, * 这里假设已经准备好了所要打包的文件*/ //List<File> files = new ArrayList<File>(); /**创建一个临时压缩文件, * 我们会把文件流全部注入到这个文件中 * 这里的文件你可以自定义是.rar还是.zip*/ File file = new File("c:/certpics.rar"); if (!file.exists()){ file.createNewFile(); } response.reset(); //response.getWriter() //创建文件输出流 FileOutputStream fous = new FileOutputStream(file); /**打包的方法我们会用到ZipOutputStream这样一个输出流, * 所以这里我们把输出流转换一下*/ ZipOutputStream zipOut = new ZipOutputStream(fous); /**这个方法接受的就是一个所要打包文件的集合, * 还有一个ZipOutputStream*/ zipFile(files, zipOut); zipOut.close(); fous.close(); return downloadZip(file,response); }catch (Exception e) { e.printStackTrace(); } /**直到文件的打包已经成功了, * 文件的打包过程被我封装在FileUtil.zipFile这个静态方法中, * 稍后会呈现出来,接下来的就是往客户端写数据了*/ return response ; } /** * 把接受的全部文件打成压缩包 * @param List<File>; * @param org.apache.tools.zip.ZipOutputStream */ public static void zipFile (List files,ZipOutputStream outputStream) { int size = files.size(); for(int i = 0; i < size; i++) { File file = (File) files.get(i); zipFile(file, outputStream); } } public static HttpServletResponse downloadZip(File file,HttpServletResponse response) { try { // 以流的形式下载文件。 InputStream fis = new BufferedInputStream(new FileInputStream(file.getPath())); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); // 清空response response.reset(); OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); //如果输出的是中文名的文件,在此处就要用URLEncoder.encode方法进行处理 response.setHeader("Content-Disposition", "attachment;filename=" +URLEncoder.encode(file.getName(), "UTF-8")); toClient.write(buffer); toClient.flush(); toClient.close(); } catch (IOException ex) { ex.printStackTrace(); }finally{ try { File f = new File(file.getPath()); f.delete(); } catch (Exception e) { e.printStackTrace(); } } return response; } /** * 根据输入的文件与输出流对文件进行打包 * @param File * @param org.apache.tools.zip.ZipOutputStream */ public static void zipFile(File inputFile, ZipOutputStream ouputStream) { try { if(inputFile.exists()) { /**如果是目录的话这里是不采取操作的, * 至于目录的打包正在研究中*/ if (inputFile.isFile()) { FileInputStream IN = new FileInputStream(inputFile); BufferedInputStream bins = new BufferedInputStream(IN, 512); //org.apache.tools.zip.ZipEntry ZipEntry entry = new ZipEntry(inputFile.getName()); ouputStream.putNextEntry(entry); // 向压缩文件中输出数据 int nNumber; byte[] buffer = new byte[512]; while ((nNumber = bins.read(buffer)) != -1) { ouputStream.write(buffer, 0, nNumber); } // 关闭创建的流对象 bins.close(); IN.close(); } else { try { File[] files = inputFile.listFiles(); for (int i = 0; i < files.length; i++) { zipFile(files[i], ouputStream); } } catch (Exception e) { e.printStackTrace(); } } } } catch (Exception e) { e.printStackTrace(); } }
tony4geek
2013-12-19
打赏
举报
回复
多线程下载了。
jQuery EasyUI 1.3.2 离线API简体中文版
近期由于参与的一个Web系统项目前台使用了EasyUI作为Web解决方案,所以查了一下EasyUI的相关资料,发现离线的中文API不太多,而且版本都比较老,索性自己讲EasyUI官网给扣下来,然后
做
了翻译,文档是2月份过年的时候搞的,已经用了3个月了,里面也发现了一些翻译理解上有误的地方(由于是第
一次
使用),1.3.2的中文版API我就不改了,因为今天刚看了官方网站发现1.3.3版也出了,索性等项目忙完以后再翻译1.3.3的,届时会修复掉所有1.3.2版本中翻译错误和官方API里面的一些解释错误,彻底完善一下EasyUI的中文API。为了方便大家查阅,特别是在无网络环境下时使用,所以制作的是离线版API,此外还提供了全英文原版的API
下载
,大家可以搜索我另一个资源。由于是自己辛辛苦苦一字一句翻译的,所以多收大家几分了,望谅解!
JAVA项目同时上传
多个
文件
和
多个
内容
JAVA项目同时上传
多个
文件
和
多个
内容 首先这俩问题是由一个功能引发的,最近项目中有这样的要求,前端要上传
多个
文件
用于地图描绘那些东西,但只是为了拼到地图上查看一下,并不
做
保存,这就引发了我的纠结,既然上传到服务器上,还不要保存,那我们干嘛还要上传到服务器,占用服务器的资源。
文件
上传
下载
接口java例子
下载
地址
文件
下载
预览写法文章,可以点这里 所以,我认为前端应该有自己的读取本地...
C#实现
多个
文件
同时
下载
的思路整理
最近
做
了一个客户端软件,因为功能原因需要平凡的更新几个核心的DLL
文件
,于是写了一个在线更新的功能,先将思路总结如下,代码稍后调试完毕公布给大家,或者在点击打开链接这里给我留言。 1.服务器端的准备: a、采用普通的
文件
URI,将
文件
全部放在指定的目录 b、将更新日志整理成固定格式(最好的XML)放在目录中 2、客户端的工作: a、首先用webClient获取到更新日志,读取日志中
layui修改源码使其多
文件
上传组件可以支持
一次
请求批量上传
文件
一直都在用layui,好处不多说,是因为layui简洁易写,并且后台大多数组件都有,很省事,但最近在工作的时候,发现layui的上传组件很让人蛋疼,话不多说,先看问题: 使用layui的多
文件
上传时,发现layui的实现逻辑是这样的:比如我要上传100个
文件
,设置好上传地址后,会通过内部的ajax,调用100次请求,每个请求都会重复上传我在传
文件
时附加的参数,很多余的重复。之前的项目中没发现这种
做
...
python
一次
读取
多个
文件
_如何在python中同时读取和处理
多个
文件
我有
多个
文件
,我想同时读取它们,从每一行中提取一个数字并计算平均值。对于少量的
文件
,我在itertools模块中使用izip完成了这项工作。这是我的密码。from itertools import izipimport mathg=open("MSDpara_ave_nvt.dat",'w')with open("sample1/err_msdCECfortran_nvt.dat",'r') as...
Web 开发
81,117
社区成员
341,739
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章