【发布时间】:2016-12-19 20:36:31
【问题描述】:
我从 HTTP 请求的响应开始:
InputStream responseInputStream = response.getEntityInputStream()
我需要对该响应进行 gzip 压缩,以便将其上传到 s3 并将其压缩保存:
this.s3.putObject(new PutObjectRequest(bucketName, key, gzippedResponseInputStream, meta));
我知道我可以从responseInputStream 中获取byte[] 数组,然后将它们压缩成一个新的InputStream。但是,对于大量数据,这可能会非常低效。
我知道在 SO 上也有人问过类似的问题,但我没有找到任何似乎可以解决以 InputStream 开头并以压缩后的 InputStream 结尾的特定需求。
感谢您的帮助!
【问题讨论】:
-
你检查过这个答案吗? stackoverflow.com/a/19326492/2588800
-
哇,谢谢@SvetlinZarev - 成功了!我一直在搜索所以尝试了我发现的每一个“解决方案”,但到目前为止都没有奏效,但你的建议成功了!谢谢!
标签: java inputstream outputstream gzipinputstream gzipoutputstream