4

在上传文件之前,我正在尝试在 java 中压缩文件GZIPOutputStream。有没有办法将压缩文件存储在内存中以供上传,而不是让它在本地计算机上生成压缩文件?

谢谢!

4

3 回答 3

2

只需将 GZipOutputStream 直接连接到输出流并写入即可。不需要文件。

于 2014-09-22T23:13:25.207 回答
0

通过写入临时文件并在 gzip 上传完成后对临时文件执行 .deleteonexit 解决了这个问题。

谢谢您的帮助!

于 2014-09-22T21:42:40.853 回答
0

装饰内容实体GzipCompressingEntity

HttpPost httpPost = new HttpPost("https://host/stuff");
httpPost.setEntity(new GzipCompressingEntity(new FileEntity(new File("my.stuff"))));
CloseableHttpResponse response = httpclient.execute(httpPost);
try {
    EntityUtils.consume(response.getEntity());
} finally {
    response.close();
}
于 2014-09-22T19:30:00.463 回答