2

I used to used s3cmd and then I had to upgrade it to version 1.5.0-alpha3. I have been unable to do a proper s3cmd sync with the header --add-header="Content-Encoding: gzip"

The command I use is

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

The headers are uploaded but the zipped files somehow get unzipped. I have tried with/without the --no-preserve flag and several other permutations of the headers.

I have also tried doing the same with the aws s3 cli but there does not seem to be a way to add the "Content-Encoding: gzip" headers with this tool.

What tool (and version and from which source i.e os package manager, github) should one use as of today to sync gzipped files successfully?

4

2 に答える 2

3

それらは、ダウンロード時にユーザーエージェントによって「どういうわけか」自動的に解凍されます...これは、gzipされたコンテンツを適切なヘッダーで保存するときに起こるはずであるためです... AWSコンソールでファイルのサイズを確認してください保存したものは、ダウンロードしたものよりも小さいことがわかると思います。

gzip 圧縮されたコンテンツを保存する場合Content-Encoding: gzipは、.gz 拡張子も削除します。これは、ブラウザや wget などでコンテンツがエンコードされていないため、最終的にダウンロードされるものがエンド ユーザーに渡されるときに gzip 圧縮されないためです。 .

.gz ファイルを .gz ファイルとしてダウンロードできるようにしたいだけの場合は、Content-Encoding を設定しないでください。

于 2013-09-06T03:39:30.983 に答える