前言
- 导出 Zip 压缩包也是工作中经常遇到的一个问题,这里简单记录一下。
- 本博客主要是记录如何调用接口获取多个远程文件,并压缩导出
导出文件
- 可以导出任意类型的文件,但是必须知道目标文件类型。(通过文件流获取文件类型并动态设置,博主暂时没有做)
- 获取远程文件。这里以 HTTP 接口获取远程文件为例进行介绍。所以博主尽量提供 HTTP 接口请求相关的代码。
- 具体代码
-
/** * 导出文件(这里以导出用户合同为例) * * * @param response * @author: Andy * @time: 2019/3/1 2:16 * @since */ public void export(HttpServletResponse response) throws IOException { ZipOutputStream zipOut = new ZipOutputStream(response.getOutputStream()); for(Record user : users){ String baseName = user.getStr("name"); //创新新的 ZipEntry,因为博主要导出的合同是 pdf 文件,所有这里的文件扩展名设为 .pdf ZipEntry zipEntry = new ZipEntry(baseName+"_合同.pdf"); /** * zip 没有办法创建目录,如果想把文件放到某个目录下, * 比如放到 name目录下,那么可以写成: * ZipEntry zipEntry = new ZipEntry("name/"+baseName+"_合同.pdf"); */ zipOut.putNextEntry(zipEntry); //获得合同内容 byte[] bytes &#
-