使用contentLength下载zip文件servlet

时间:2017-02-02 03:29:20

标签: java download multiple-files http-content-length

我正在尝试编写一个servlet来下载zip文件,它将读取存储库(CRX)中的多个节点以获取多个图像的Inputstream。

我正在使用ZipOutputStream下载zip文件。 但由于压缩后的长度未知,我无法设置内容长度标头作为响应,因此浏览器无法显示剩余的下载时间。

当前代码:

String[] paths = request.getRequestParameters("path");
ZipOutputStream out = new ZipOutputStream(response.getOutputStream());
for (int i=0; i<paths.length;i++){
    InputStream is = getStream(paths[i]);
    IOUtils.copy(is, out);
    IOUtils.closeQuietly(is);
    out.closeEntry();
}

有没有办法生成ZipFile然后写入输出流?

0 个答案:

没有答案