JAVA中如何将两个byte[]文件数据添加到压缩包中并下载呢?
下文笔者讲述将byte[]文件数据添加到数据包中下载的方法分享
String zipFileName="压缩包名.zip"; // 设置响应头,告诉浏览器返回的是否是一个文件流 response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;filename=" + zipFileName); // 创建一个字节数组输出流 ByteArrayOutputStream bos = new ByteArrayOutputStream(); // 创建一个压缩输出流 ZipOutputStream zos = new ZipOutputStream(bos); try { // 将byte数组文件逐个添加到压缩包中 zos.putNextEntry(new ZipEntry("文件名")); zos.write(文件的byte[]); zos.closeEntry(); zos.putNextEntry(new ZipEntry("文件名")); zos.write(文件的byte[]); zos.closeEntry(); // 完成压缩并将压缩包写入到输出流中 zos.finish(); // 将输出流中的内容写入响应流中 response.getOutputStream().write(bos.toByteArray()); } catch (IOException e) { log.info(">文件下载异常:{}",e); }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。