在上传文件之前,我正在尝试在 java 中压缩文件GZIPOutputStream
。有没有办法将压缩文件存储在内存中以供上传,而不是让它在本地计算机上生成压缩文件?
谢谢!
在上传文件之前,我正在尝试在 java 中压缩文件GZIPOutputStream
。有没有办法将压缩文件存储在内存中以供上传,而不是让它在本地计算机上生成压缩文件?
谢谢!
只需将 GZipOutputStream 直接连接到输出流并写入即可。不需要文件。
通过写入临时文件并在 gzip 上传完成后对临时文件执行 .deleteonexit 解决了这个问题。
谢谢您的帮助!
装饰内容实体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();
}