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);
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


