精华内容
下载资源
问答
  • 多个文档如何压缩打包
    万次阅读
    2018-12-21 14:53:53

    java多个文件压缩打包成zip下载


    如果实现批量操作一些文件,使之压缩打包成zip下载?
    具体实现步骤如下:

    1. 设置下载文件名编码
    2. 创建zip输出流ZipOutputStream
    3. 将需要下载的文件流循环写入ZipOutputStream
    4. 关闭各个流

    话不多说,直接上代码
    service层方法(关键):

    @Override
       public void downloadAllFile(HttpServletResponse response, String processInstanceId) {
       	String downloadName = "xxx附件.zip";
       	try {
       		response.setContentType("multipart/form-data");
       		response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(downloadName, "UTF-8"));
       	} catch (UnsupportedEncodingException e) {
       		throw new HrmsException("下载文件名编码时出现错误.", e);
       	}
       	
       	OutputStream outputStream = null;
       	ZipOutputStream zos = null;
       	try {
       		outputStream = response.getOutputStream();
       		zos = new ZipOutputStream(outputStream);
       		// 将文件流写入zip中
       		downloadTolocal(zos,processInstanceId);
       	
       	} catch (IOException e) {
       		logger.error("downloadAllFile-xxx下载全部附件失败,processInstanceId=[{}],错误信息=[{}]",processInstanceId,e);
       	}finally {
       		if(zos != null) {
       			try {
       				zos.close();
       			} catch (Exception e2) {
       				logger.info("关闭输入流时出现错误",e2);
       			}
       		}
       		if(outputStream != null) {
       			try {
       				outputStream.close();
       			} catch (Exception e2) {
       				logger.info("关闭输入流时出现错误",e2);
       			}
       		}
       		
       	}
       	
       }
       
       private void downloadTolocal(ZipOutputStream zos,String processInstanceId) throws IOException {
       	Map<String, String> pm = new HashMap<String, String>();
       	pm.put("processInstanceId", processInstanceId);
       	//获取文件信息(此处为业务代码,可根据自己的需要替换)
       	List<Map<String,String>> fileInfoList = this.findByStatement("getAllFileInfo",pm);
       	
       	for (Map<String, String> map : fileInfoList) {
       		String fileId = map.get("fileId");
       		//文件名称(带后缀)
       		String fileName = map.get("fileName");
       		InputStream is = null;
       		BufferedInputStream in = null;
       		byte[] buffer = new byte[1024];
       		int len;
       		//创建zip实体(一个文件对应一个ZipEntry)
           	ZipEntry entry = new ZipEntry(fileName);
           	try {
           	       //获取需要下载的文件流
           		is = ossFileManager.getFile(fileId);
       			in = new BufferedInputStream(is);
           		zos.putNextEntry(entry);
           		//文件流循环写入ZipOutputStream
               	while ((len = in.read(buffer)) != -1 ) {
               		zos.write(buffer, 0, len);
               		}
       		} catch (Exception e) {
       			logger.info("xxx--下载全部附件--压缩文件出错",e);
       		}finally {
       			if(entry != null) {
       				try {
       					zos.closeEntry();
       				} catch (Exception e2) {
       					logger.info("xxx下载全部附件--zip实体关闭失败",e2);
       				}
       			}
       			if(in != null) {
       				try {
       					in.close();
       				} catch (Exception e2) {
       					logger.info("xxx下载全部附件--文件输入流关闭失败",e2);
       				}
       			}
       			if(is != null) {
       				try {
       					is.close();
       				}catch (Exception e) {
       					logger.info("xxx下载全部附件--输入缓冲流关闭失败",e);
       				}
       			}
       			
       			
       		}
               	
              } 
       }
    

    controller层接口:

    	/**
        * 下载全部附件
        */
       @RequestMapping(value = "/downloadAllFile/{processInstanceId}", method = RequestMethod.GET)
       public void  downloadAllFile(HttpServletResponse response,@PathVariable("processInstanceId") String processInstanceId) {
       	floCnbCompetitionLimitService.downloadAllFile(response,processInstanceId);
       }
    

    前端调用接口,便可在浏览器中直接下载zip文档下来

    更多相关内容
  • html页面导出word文档、批量生成word文档、并且在线生成压缩包并下载
  • 我们有很多文件需要打包成 ZIP 和 7z 压缩包,我们平常最常见的就是自己手工将一些文件打包成一个独立的 ZIP 和 7z 压缩包,但是我们有时候也需要将很多个文件单独打包成单个 ZIP 和 7z 压缩包。 比如说我们有 100 ...

    概要:我们有时候需要将很多不同类型的文档单独打包成一个 ZIP 压缩包或者单独的打包成一个 7z 压缩包,我们一个一个处理的话比较慢,但是有没有一种批量将文件转成 ZIP 和 7z 压缩包的方法呢?

    我们有很多文件需要打包成 ZIP 和 7z 压缩包,我们平常最常见的就是自己手工将一些文件打包成一个独立的 ZIP 和 7z 压缩包,但是我们有时候也需要将很多个文件单独打包成单个 ZIP 和 7z 压缩包。

    比如说我们有 100 个文件,我们需要打包成 100 个 ZIP 和 7z 压缩包。这些压缩包可以是 100 个 ZIP 压缩包,也可以是 100 个 7z 压缩包。以前我们没有很好的办法去批量的将文件转成 ZIP 和 7z 压缩包的格式,但是现在我们可以使用这个方法批量将很多个文件打包成单独的 ZIP 和 7z 压缩包。

    首先我们打开「我的ABC软件工具箱」,进入到文件转成压缩包的功能,如下图:

    在这里我们需要添加批量打包成 ZIP 和 7z 压缩包的文件:

    当我们添加完需要批量转换为 ZIP 和 7z 压缩包格式的文件之后,直接单击下一步,那么我们就可以批量设置最终压缩包的格式是 ZIP 还是 7z ,我们还可以批量的设置 ZIP 和 7z 压缩包的密码。

    这对我们平常的文件管理来说非常的方便,这样我们就不用手工的将一个一个的文件转成 ZIP 和 7z 压缩包文件了。有了这个方法之后,我们就可以大量的生成 ZIP 和 7z 压缩包文件,并且还可以批量的设置这些 ZIP 和 7z 压缩包文件的密码。

    这对我们平常的文件管理来说非常的方便,这样我们就不用手工的将一个一个的文件转成 ZIP 和 7z 压缩包文件了。有了这个方法之后,我们就可以大量的生成 ZIP 和 7z 压缩包文件,并且还可以批量的设置这些 ZIP 和 7z 压缩包文件的密码。

    展开全文
  • vue生成word打包批量下载
  • 概要:我们经常要处理很多 Word 文档,有时候我们希望将多个 Word 文件都批量的合并成一个 Word 文件,这个时候该怎么办呢?现在有一种简单的方法,能够批量的将多个 Word 文档合并成单个 Word 文件,这样对于我们来...

    概要:我们经常要处理很多 Word 文档,有时候我们希望将多个 Word 文件都批量的合并成一个 Word 文件,这个时候该怎么办呢?现在有一种简单的方法,能够批量的将多个 Word 文档合并成单个 Word 文件,这样对于我们来说阅读是非常的方便。

    对于深度办公用户来说,经常要处理很多 Word 文件,有时候我们希望将多个 Word 文件合并成一个大的 Word 文件,这样方便我们打印,也方便我们整理文件里面的内容,同时也方便我们阅读,我们不需要在多个 Word 文档之间进行切换。

    如果我们手工的将很多个 Word 文档进行复制粘贴合并的话,这样的效率非常的低,估计老板也不会同意,那么我们有没有一种方法能够批量的将多个 Word 文件合并成一个 Word 文件呢?答案肯定是有的,这里给大家讲解一个非常简单的方法,能够批量的将多个 Word 文件合并成一个 Word 文件,有了这个批量将多个 Word 文件合并成单个 Word 文件的方法之后,我们以后再有类似的需求的时候,就非常方便快速的合并完成了。

    打开「我的ABC软件工具箱」,然后进入到 Word 合并成单个文件的功能中。这个合并的意思就是说将一个文件夹中的所有 Word 文件批量的合并成单个的 Word 文件。

    进入到批量合并 Word 文件的功能中之后,我们需要单击右上角的添加文件夹来合并我们的 Word 文档:

    当我们选择完需要批量进行合并的 Word 文件所在的文件夹之后,我们直接单击下一步,然后软件在这里会提示我们合并的顺序,我们这里可以批量的按照 Word 文件的文件名的升序或者降序来对这些 Word 文件进行一次性合并。

    我们设置好合并的顺序之后直接单击下一步,然后软件就很快速的批量的将我们所有的 Word 文件都合并成单个的 Word 文件了,这样我们以后在阅读 Word 文档的时候,采用这个批量合并文档的方法,就可以很好的进行阅读或者整理了。   

    展开全文
  • 我们可以根据需要将文件夹中的多个 Word 文档按照一定的顺序进行合并,这样可以把多个 Word 文档整合形成一个完整的文档。非常的方便与实用。 在前面的系列中,我们给大家介绍了怎么去将一个完整的 Word 文档按照...

    概要:「我的ABC软件工具箱」提供了文档合并的功能,其中就包括了 Word 拆分成单个文件。我们可以根据需要将文件夹中的多个 Word 文档按照一定的顺序进行合并,这样可以把多个 Word 文档整合形成一个完整的文档。非常的方便与实用。

    在前面的系列中,我们给大家介绍了怎么去将一个完整的 Word 文档按照页数拆分成多个独立的 Word 文档。有拆分的需求就有合并的需求,所以今天就给大家介绍一下 Word 合并成单个文件的小妙招。今天要给大家介绍的是一款办公软件「我的ABC软件工具箱」,它可以指定文件夹,将文件夹内的多个 Word 文档按照一定的顺序进行合并,从而形成一个完整的 Word 文档。我们一起来看看这个小妙招吧!

    打开「我的ABC软件工具箱」,左侧面板选择【合并拆分】,然后右侧就能看到【Word 合并成单个文件】的功能啦!

    点击菜单按钮,会进入到选择文件夹的页面。

    在当前页面就可以点击右上角的“添加文件夹”按钮来添加要合并的文件夹了,还可以直接将文件夹拖拽进来!

    添加好后,界面就能显示我们已经添加的待合并的文件夹了。列表中的每一条记录是一个文件夹,此操作会将该文件夹中的 Word 文件合并成一个文件!当添加完文件夹后,就可以点击“下一步”按钮了,进入到设置参数信息的页面。

    因为文件夹中往往会包含多个 Word 文档,所以我们需要指定文档是按照降序还是升序的方式进行合并。设置好并确认无误后点击下一步进入到设置输出目录的页面。

    在这个页面,我们可以设置文件存储的位置。设置好并确认无误后,继续点击下一步,「我的ABC软件工具箱」就进行 Word 合并成单个文件的操作了。

    一会儿,Word 合并的操作就处理完成了。这个界面上能看到处理文件的列表,还能看到合并了多少个文档!

    到这里,Word 合并成单个文件的小妙招就介绍完了,是不是很简单很实用呢?

    展开全文
  • 尝试了很种Python打包为exe可执行文件的方式,通过总结,得出一种最简洁、最有效的打包方式分享给大家!
  • Linux压缩打包命令——tar、zip、unzip

    万次阅读 多人点赞 2019-08-16 18:39:08
    打包是指将多个文件或者目录放在一起,形成一个总的包,这样便于保存和传输,但是大小是没有变化的,压缩是指将一个或者多个大文件或者目录通过压缩算法使文件的体积变小以达到压缩的目的,可以节省存储空间,在压缩...
  • happyPack和ParallelUglifyPlugin的配置使用一、happyPack: 开启进程打包二、ParallelUglifyPlugin:进程压缩js三、何时开启进程打包或者压缩 happyPack和ParallelUglifyPlugin也是提高webpack打包速度的两种...
  • 前言:最近项目有个需求,需要生成多个 excel并打包成 zip下载;由于需要生成的 excel头字段过多,这里有96个时间段的表头,建一个实体字段太多了,还好 easyExcel支持 List生成表头。 1、导入 Maven坐标,这里用到...
  • 文件导出-多个文件批量压缩

    千次阅读 2021-11-15 14:59:05
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: ...
  • 还不会怎样同时打开多个微信?一次性打包带走吧

    万次阅读 多人点赞 2021-07-17 04:09:12
    随着微信的广泛应用,大家很有可能有两个或多个微信,不再只使用一个微信了。因此,微信多开,在电脑上同时登录多个微信,对我们日常的使用起到狠便捷的作用。在这里聊聊怎样在 PC 端同时登录多个微信。
  • 使用Pycharm将多个py文件打包成一个可运行并且可安装文件第一步:安装pyinstaller第二步:打包生成exe文件第三步:造成一个类似安装程序的东西 第一步:安装pyinstaller 先打开命令行,打开pycharm在左下角: 打包...
  • ​Linux 系统 tar 文件压缩打包命令

    千次阅读 2020-08-18 22:13:17
    tar 文件压缩打包命令引言tar 命令定义tar 打包格式含义注意⚠️示例打包文件和目录onetwothree打包并压缩目录onetwotar 解打包格式含义示例解打包到当前目录下解打包到指定位置只查看文件包内容不解打包tar 打包...
  • 打包压缩一样嘛

    千次阅读 2020-08-18 10:31:06
    专属目录Linux 的打包和压缩引言打包压缩分类无损压缩有损压缩如何压缩区别相同点不同点常用命令归档命令压缩命令总结 Linux 的打包和压缩 引言 日常中压缩文件那可真是家常便饭,因文件太大,太占用内存,给别人...
  • //多个文件压缩成压缩包返回 ZipUtil.zip(response.getOutputStream(), srcFileNames, srcFiles); } 3 MinIO文件 4 调试结果 注: MinIO的使用及MinIOService源码请查看以下博客。 Spring Boot配置MinIO(实现文件...
  • vue打包时gzip压缩的两种方案

    万次阅读 多人点赞 2020-08-24 11:18:06
    可以看出,在项目部署后,我们的资源文件请求都会保持原本大小,如果文件过大,并且很的情况下,会导致网络请求耗时,严重点可能阻塞后面的进程。 所以,此篇介绍两种gzip压缩的方式: 1、打包的时候通过webpack...
  • 最近需要将python写的程序打包分发给其他同事使用,因为之前对老代码进行了重构,将工具类函数都抽到一统一的包路径utils下,打包时后运行程序时出现了找不到这包的情况: 首先介绍一下目录结构: --+ utils...
  • linux文档压缩打包

    千次阅读 2018-04-30 23:19:43
    文档压缩打包在windows下我们接触最多的压缩文件就是.rar格式的了。但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具。但有一种文件在windows和linux下都能使用那就是.zip格式的文件了。压缩的好处...
  • 最近要在管理系统上,添加一帮助文档;就是点击”?”或者点击帮助,可以执行在新窗口打开pdf文件,同时执行打包下载; 也是在网上各种查找,也参考了很方法;诸多的就是借用jar包; 这也是一种很有效的方法,...
  • 压缩生成zip文件又称《文档归类存储》,经过测试效率对比压缩方式提高50%左右!! 废话不说,直接上代码: private static final int BUFFER_SIZE = 2 * 1024; /** * 指定压缩成zip * @param srcFiles 需要...
  • 步骤:1、打开文件夹,选择几压缩的图片文件,可以看到现在几文件的总大小是3.09MB。2、右键点击这些图片,在菜单上选择‘添加到压缩文件’。3、弹出压缩文件的窗口,我们先输入压缩文件的名称,然后点击选中...
  • 1)打包文件或者目录 2)压缩文件或者目录 3)解压一文件或者目录 命令参数说明: tar --help 下面是显示效果: Examples:  tar -cf archive.tar foo bar # Create archive.tar from files ...
  • 需要将一工程涉及两目录的模块文件打包成exe,打包环境如下: 1、windows7; 2、Python 3.7.2; 3、PyInstaller 3.6 。 二、操作步骤 2.1、使用清华镜像下载并安装pyinstaller, pip install ...
  • 折腾服务器:Docker 项目打包发布 + 一键部署多个应用 最近在折腾 docker,可实现本地一键同时部署多个应用 完全不了解 docker 的建议先看 官方文档 哦~ 主要流程 开发完项目后,将项目用 docker 打包成镜像,推到...
  • 最近整理资料,发现很 pdf 文档,...为了提高效率且,方便后面取用,所有打算捣鼓个批处理文件,来实现命令行调用 7-zip 来对目录下的每个文档进行单独打包,并将打包后的压缩包存到指定的目录下,详细内容见下文。
  • word文档批量下载(单个、多个)以zip形式下载
  • word文件怎么压缩?详细的操作步骤

    千次阅读 2022-02-25 13:48:59
    如果一word文件中包含了太的图片和内容,它的体积也同样会变得很大,会给使用带来很的不便,今天我就来教大家如何快速有效的压缩word文件吧!
  • 正因为长时间在Windows平台上方便的解压文件,导致我对打包压缩的概念理解错误,结果在linux操作压缩文件时有很疑问,今天终于明白了一点,专门总结一下,同时列举常用的压缩、解压命令,方便日后查找使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 217,460
精华内容 86,984
热门标签
关键字:

多个文档如何压缩打包