批量下载文件,打包成zip压缩包
批量下载文件,用程序打成zip压缩包在下载
前台传来要下载的url数组
@RequestMapping(value = "/download",method = RequestMethod.POST)
public void download(HttpServletResponse response,String [] filePathList) throws IOException{ // 通过response对象获取OutputStream流 OutputStream os = response.getOutputStream(); //获取zip的输出流 ZipOutputStream zos = new ZipOutputStream(os); //定义输入流 BufferedInputStream bis = null; try { //循环url数组 for (String path : filePathList) { //通过url地址获取连接 URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //设置超时间为3秒 conn.setConnectTimeout(3*1000); //防止屏蔽程序抓取而返回403错误 conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); conn.setRequestMethod("GET"); conn.connect(); //通过连接得到输入流 InputStream inputStream = conn.getInputStream(); //设置压缩后的zip文件名 String sourceFilePath = "zip.zip"; //设置content-disposition响应头控制浏览器弹出保存框,若没有此句则浏览器会直接打开并显示文件。 //中文名要经过URLEncoder.encode编码,否则虽然客户端能下载但显示的名字是乱码 response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(sourceFilePath, "UTF-8")); byte[] buf = new byte[8192]; int len = 0; //创建ZIP实体,并添加进压缩包 ZipEntry zipEntry = new ZipEntry(fileName); zos.putNextEntry(zipEntry); bis = new BufferedInputStream(inputStream, 1024*10); while ((len = bis.read(buf)) > 0) { //使用OutputStream将缓冲区的数据输出到客户端浏览器 zos.write(buf, 0, len); } } } catch (Exception e) { e.printStackTrace(); }finally{ if(null != zos) zos.close(); if(null != bis) bis.close(); }
}
批量下载文件,打包成zip压缩包相关推荐
- Java实现文件批量下载,打包成zip压缩包
最近在做一个管理系统的项目,需要实现一个功能,就是批量下载文件,并打包成zip压缩包. 前端通过POST请求传来要下载的文件列表,Java代码实现如下: import java.io.Bu ...
- react——利用jszip实现文件批量下载并打包成zip文件
本文章主要记录利用jszip实现文件批量下载图片,文档.mp3,视频(MP4)等文件,一般而言前端实现下载功能一般都是通过a链,这在下载单个文件的场景很实用,但如果是批量下载很多个文件,同样也可以用a ...
- 图片批量下载并打包成zip
需要引入两个js文件: <script src="__STATIC__/js/FileSaver.js"></script> <script src= ...
- 关于springmvc下服务器文件打包成zip格式下载功能
关于springmvc下服务器文件打包成zip格式下载功能 2016年09月21日 11:22:14 toxic_guantou 阅读数:5731更多 个人分类: 技术点存储 版权声明:本文为博主原创 ...
- 【java】 文件批量下载并压缩为zip压缩包
[java] 文件批量下载并压缩为zip压缩包 java常用的压缩技术 java中常见实现压缩与解压 业务场景 代码实现 注意点 java常用的压缩技术 常见的压缩格式有很多种,例如:zip.rar. ...
- php 生成zip并下载,PHP 实现文件打包成zip格式并下载
PHP 文件打包并下载 有个这样的需求,将多个文件打包成zip格式并下载到本地 可根据 ZipArchive这个类来实现此功能 我自己也研究了一下,然后把搞出来了 ,经测试绝对好用 话不多说直接上代码 ...
- think.class.php下载,PHP_ThinkPHP实现将本地文件打包成zip下载,首先,将FileToZip.class文件放到T - phpStudy...
ThinkPHP实现将本地文件打包成zip下载 首先,将FileToZip.class文件放到ThinkPHP/Extend/Library/ORG/Util/文件夹中,FileToZip.class ...
- Java将多个文件打包成ZIP并下载
Java将多个文件打包成ZIP并下载 需求是多个文件需要同时打包成zip压缩文件并下载到本地,首先我需要的是知道下载文件的路径.我有一个专门的sys_file_info表,表中有对应的文件路径.业务表 ...
- java实现word下载及打包成zip下载(单个文件、多个文件)
最近,本人需求将实现word下载以及打包成zip进行下载(单个文件.多个文件)将最近自己学习到的知识点分享给大家 1.实现word模板(三个步骤,最终需要的是upload.ftl) 大家可以参考这篇文 ...
- 文件打包成zip类型文件
研究了一下,如何把文件打包成Zip文件. 下面是我经历的进程: 1. 首先看到了微软本身的打包代码,是通过System.IO.Packaging 命令空间来进行打包,你可以点击以上的链接来查看其如何打 ...
最新文章
- linux什么是实时调度,Linux中的实时调度
- 深度学习模型之各种caffe版本(Linux和windows)的网址
- golang 开源代理
- php 接收文件 错误代码3,php上传文件错误代码3
- javaserver_集成Spring和JavaServer Faces:改进的模板
- iOS Core ML与Vision初识
- 图灵奖公布!计算机图形学先驱 Hanrahan 和 Catmull 获奖,祝贺两位好莱坞 3D 动画大片技术元老...
- GPS 的物理数学原理
- ASP.NET中常用的优化性能的方法(转贴,Icyer收集整理)
- 2015阿里秋招当中一个算法题(经典)
- HDU4405(期望DP)
- 前端测试框架Jest系列教程 -- 简介
- 数学分析(一)数列与数列极限
- dorado java_dorado事件
- Cadence orcad 批量设置原理图标题栏
- 移动端开发使用rem时动态设置html的字体大小
- 服务器该不该选SSD硬盘储存?
- Webug 4.0下载地址
- 一步步写嵌入式操作系统 arm相关知识
- 鱼香ROS网站上线|一行代码安装ROS/ROS2/解决rosdep问题|小鱼脚本
热门文章
- TCP/IP系列之数据链路层
- log4j日志信息配置文件详解
- 判断虚拟键盘是删除键的方法
- [ 漏洞复现篇 ] Apache Shiro 身份认证绕过漏洞 (CVE-2022-32532)
- linux下做笔记的软件下载,Write一款梦幻般的Linux手机笔记应用程序
- 腾讯视频弹幕屏蔽js
- CAD二次开发(c#)利用选择集获取标注尺寸
- 随时随地开展绘图工作,还得靠CAD在线!
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java小微企业ERP软件物料需求模块设计55ss9
- 敏捷结果30天之第十一天:高效能、慢生活