2

我曾经使用过 s3cmd,然后我不得不将其升级到 1.5.0-alpha3 版本。我无法与标题进行正确的 s3cmd 同步--add-header="Content-Encoding: gzip"

我使用的命令是

s3cmd --add-header="Content-Encoding: gzip" --add-header="Cache-Control:public, max-age=86400" --add-header='Content-Type: application/javascript' --recursive put local remote_S3_bucket

标头已上传,但压缩文件以某种方式解压缩。我尝试过使用/不使用--no-preserve标志和其他几种标题排列。

我也尝试过对aws s3 cli做同样的事情,但似乎没有办法"Content-Encoding: gzip"用这个工具添加标题。

从今天开始,应该使用什么工具(和版本以及来自哪个源,即 os 包管理器、github)来成功同步 gzip 文件?

4

2 回答 2

3

当您下载它们时,它们会“以某种方式”被您的用户代理自动解压缩......因为这是当您使用适当的标题存储压缩内容时应该发生的事情......检查AWS控制台中的文件大小我希望你会发现你存储的比你下载的要小。

当您存储 gzip 压缩的内容时,Content-Encoding: gzip您还删除了 .gz 扩展名,因为最终下载的内容在交给最终用户时不再是 gzip 压缩,因为浏览器或 wget 等内容会对其进行解编码,如果您愿意的话.

如果您只想将 .gz 文件作为 .gz 文件放在那里以供下载,请不要设置 Content-Encoding。

于 2013-09-06T03:39:30.983 回答
1

或者,您可以使用Minio Client aka mc

像下面这样的简单操作应该可以工作。

$ mc 猫 | 压缩包 - | mc 管道 s3/桶/文件

希望能帮助到你。

免责声明:我为Minio工作

于 2016-06-22T04:34:33.447 回答