gpt4 book ai didi

java - 将 ZipOutputStream 返回给浏览器

转载 作者:太空狗 更新时间:2023-10-29 14:45:24 26 4
gpt4 key购买 nike

我有一个要返回给浏览器的 ZipOutputStream。我想要的体验是用户点击一个 anchor 标签,然后为我有的ZipOutputStream 显示一个文件下载提示。

如何将 ZipOutputStream 返回给浏览器?

最佳答案

昨天不得不做同样的事情。

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zip = new ZipOutputStream(baos);

.... populate ZipOutputStream

String filename = "out.zip";
// the response variable is just a standard HttpServletResponse
response.setHeader("Content-Disposition","attachment; filename=\"" + filename + "\"");
response.setContentType("application/zip");

try{
response.getOutputStream().write(baos.toByteArray());
response.flushBuffer();
}
catch (IOException e){
e.printStackTrace();
}
finally{
baos.close();
}

请注意,我使用的是 ByteArrayOutputStream 包装器和 toByteArray,但您可以使用标准 InputStream.read() OutputStream.write() 循环将任何其他类型的 Outputstream 直接写入响应。

手头我实际上不确定哪个更快,但我怀疑我在这里使用 ByteArrayOutputStream 可能不是最注重内存的方法:

关于java - 将 ZipOutputStream 返回给浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5516922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com