【发布时间】:2020-08-24 15:06:27
【问题描述】:
我正在尝试创建一个 zip 文件,以便能够通过 http 发送多个文件。
我的问题是生成的 Zip 文件在文件发送前后“损坏”。问题是我无法找到我做错了什么,因为我在控制台中没有收到任何错误。
那么有人知道我生成的 zip 文件损坏了吗?
这是我的代码:
OutputStream responseBody = t.getResponseBody();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
int counter = 1;
for (PDDocument doc : documents)
{
ZipEntry zipEntry = new ZipEntry("document" + counter);
zos.putNextEntry(zipEntry);
ByteArrayOutputStream docOs = new ByteArrayOutputStream();
doc.save(docOs);
docOs.close();
zos.write(docOs.toByteArray());
zos.closeEntry();
zos.finish();
zos.flush();
counter++;
}
zos.close();
baos.close();
responseBody.write(baos.toByteArray());
responseBody.flush();
感谢您的帮助!
【问题讨论】:
-
如果您的目标是发送多个文件而不是专门压缩,您可以使用 multipart/form-data,可能使用部分压缩。
标签: java zipoutputstream