gpt4 book ai didi

Java - 制作字节数组作为下载

转载 作者:行者123 更新时间:2023-11-30 08:08:26 24 4
gpt4 key购买 nike

我有一个作为字节数组 (byte[]) 的 zip 文件,我可以使用以下方法将它写入文件系统,

        FileOutputStream fos = new FileOutputStream("C:\\test1.zip");
fos.write(decodedBytes); // decodedBytes is the zip file as a byte array
fos.close();

与其将其写入文件并读取它以作为下载,不如直接将字节数组作为下载,我试过了,

    response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment; filename=\"File.zip\"");
ServletOutputStream outStream = response.getOutputStream();
outStream.write(decodedBytes); // decodedBytes is the zip file as a byte array

这不起作用,我得到的是空文件。如何将字节数组作为下载?

更新:我添加了 finally 子句并关闭了 ServletOutputStream,它起作用了。

    }catch (Exception e) {
Log.error(this, e);
} finally {
try{
if (outStream != null) {
outStream.close();
}
} catch (IOException e) {
Log.error(this, "Download: Error during closing resources");
}
}

Pankaj 解决方案也有效。

最佳答案

尝试以下操作:

ServletOutputStream outStream = response.getOutputStream();
response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment; filename="DATA.ZIP"");
outStream.write(decodedBytes);
outStream.flush();

关于Java - 制作字节数组作为下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33139672/

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