前言:

1.前端:

在这里插入代码片

2.后端

/**  批量下载为 zip  **/
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
public static void batchDownLoadFile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){String filename = "ces";//需要下载的文件路径String[] filepath = new String[3];filepath[0] = "D:\\AA\\GG\\1565679467697.txt";filepath[1] = "D:\\AA\\GG\\22.txt";filepath[2] = "D:\\AA\\GG\\33.txt";//下载的文件名称String[] documentname = new String[3];documentname[0] = "1565679467697.txt";documentname[1] = "22.txt";documentname[2] = "33.txt";byte[] buffer = new byte[1024];Date date = new Date();//生成zip文件存放位置String strZipPath = "D:\\AA\\GG\\" + date.getTime() + ".zip";File file = new File("D:\\AA\\GG\\");if (!file.isDirectory() && !file.exists()) {file.mkdirs();}try {ZipOutputStream out = new ZipOutputStream(new FileOutputStream(strZipPath));//必须设置编码格式。否则,中文会出现乱码。注意:如果该处报错,则是你导包有问题。应该是 org.apache.tools.zip.*里面的包。而不是util包out.setEncoding("gbk");// 需要同时下载的多个文件for (int i = 0; i < filepath.length; i++) {File f = new File(filepath[i]);FileInputStream fis = new FileInputStream(f);out.putNextEntry(new ZipEntry(documentname[i]));int len;// 读入需要下载的文件的内容,打包到zip文件while ((len = fis.read(buffer)) > 0) {out.write(buffer, 0, len);}out.closeEntry();fis.close();}out.close();DzFileGlAction.downLoadFile(request, response, strZipPath, filename + ".zip");File temp = new File(strZipPath);if (temp.exists()) {temp.delete();}} catch (Exception e) {System.out.println("文件下载错误");}}

3.浏览器弹框下载:

public static void downLoadFile(HttpServletRequest request, HttpServletResponse response, String filePath, String filename) {try {File file = new File(filePath);String userAgent = request.getHeader("User-Agent");if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {filename = java.net.URLEncoder.encode(filename, "UTF-8");} else {filename = new String(filename.getBytes("utf-8"), "iso8859-1");}response.addHeader("Content-Disposition", "attachment;filename=" + filename);//response.setContentType("application/vnd.ms-excel");response.setContentType("multipart/form-data");byte[] b = new byte[1024];int len = 0;FileInputStream fs = new FileInputStream(file);PrintWriter writer = response.getWriter();while ((len = fs.read()) != -1) {writer.write(len);}fs.close();writer.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}

贴图:

java批量下载为zip相关推荐

  1. java批量下载生成zip压缩包

    设计思路: 1.本地先创建一个zip文件 2.将批量下载的文件依次放入zip文件中 3.将zip文件返回给前端 //一.本地先生成zip文件//要批量下载的文件id数组 String[] ids = ...

  2. java批量下载多个文件并压缩

    java批量下载多个文件并压缩 本段代码的功能主要是实现通过文件主键,循环遍历下载各种格式的文件,下载后由java数据流处理压缩成一个zip格式的压缩包返回给前端页面. 后端实现控制层(Control ...

  3. SharePoint 2010 自定义Ribbon实现文档批量下载为Zip文件

    在SharePoint 2010文档库中,结合单选框,在Ribbon中提供了批量处理文档的功能,比如,批量删除.批量签出.批量签入等,但是,很遗憾,没有提供批量下载,默认的只能一个个下载,当选择多个文 ...

  4. java批量下载文件为zip包

    批量下载文件为zip包的工具类 package com.meeno.trainsys.util;import javax.servlet.http.HttpServletRequest; import ...

  5. Java批量下载并打成压缩包zip格式

    @ApiOperation("批量下载并打成压缩包zip格式")@Log(title = "批量下载并打成压缩包zip格式", businessType = B ...

  6. JAVA 批量下载文件

    最近项目有个需求,用户想对挂有附件的数据记录 实现一键下载全部附件(目前项目仅支持每次点击单条记录进行附件下载),下面记录我实现的解决方案. 项目框架基于SSM service业务实现层(impl): ...

  7. java 批量下载图片,批量打包文件并下载

    1.批量下载网页上,动态生成的图片到服务器上指定的目录中 2.将目录中的所有的图片打包成zip包 3.删除原来的目录 4.下载zip包 1:由于网页上的图片是全部都是连接动态生成的,所以同事在网上找了 ...

  8. java批量下载demo_OBS JAVA SDK 实践8:批量下载文件(e.g 下载文件夹)

    1背景介绍& 效果展示 通过OBS JAVA SDK可以实现批量下载文件,如下载文件夹,效果如下. 注:有关标准存储.低频访问.归档存储三种存储类型的更多信息,参考链接:https://sup ...

  9. 用Java批量下载人教网电子课本和教师用书

    手工下载人教网(www.pep.com.cn)的课本实在太麻烦,自己动手写了个批量下载小程序(java版), 一次下载一整本电子书,并且按顺序存放.代码需要 jsoup-1.7.2.jar 库支持, ...

最新文章

  1. Eclipse for Tricore 的安装方法
  2. 迁移学习:领域自适应的理论分析
  3. python算法题_Python算法题
  4. win2008R2管理员密码修改文档
  5. .net解决Xss攻击
  6. Nunit中如何进行事务性单元测试
  7. Java集合源码解析之ArrayList
  8. SpringBoot2.0之二 新建RESTfull风格项目
  9. pip安装第三方库的一些站点
  10. 什么叫做项目孵化_什么叫创业孵化服务?
  11. Linux复习-进程及其管理
  12. 已知两点坐标求水平距离_根据两点经纬度计算距离
  13. express不是内部或外部命令
  14. 数字类型与列表——python
  15. Unity5.0 烘焙物体导入其他场景
  16. 语音验证码接口PYTHO语言
  17. c语言限速编程,一种基于c语言的列车限速曲线计算方法和装置的制造方法
  18. NGFW盒式防火墙开局及组网规划2022
  19. error: command ‘/usr/local/cuda-11.6/bin/nvcc‘ failed with exit code
  20. top命令的原理是什么

热门文章

  1. 苹果13白屏无法正常开机怎么办?可以尝试这2种解决方法!
  2. Linux 32位 geth,Linux系统的Geth安装指南
  3. 桂林师范高等专科学校计算机专业,桂林师范高等专科学校2021年有哪些专业
  4. 使用log4js打印日志
  5. 浅谈C++中memset函数的用法
  6. 北京银行聚焦零售转型 多点发力助推“京彩”缤纷
  7. 免费的Web3在线技术学习平台:Moonbuilders Academy入门指南
  8. Kafka Partition重分配流程简析
  9. 算法导论习题—二叉搜索树、红黑树、区间树
  10. java计算机毕业设计科学评价系统源码+数据库+lw文档+系统