我将HTML数据存储在用作静态站点的S3存储桶中,并以压缩格式存储。尽管我可以正确访问S3站点并且浏览器知道要解压缩它,但是我无法使用AWS CLI下载它,因为即使下载到的原始数据仍被压缩(而不是在下载后进行解压缩),即使复制到磁盘之后也是如此。通过文本编辑器或浏览器打开时出现乱码。
我已经尝试显式传递内容编码,以将S3上压缩后的内容转换为纯文本,但是下载的文件似乎仍然具有压缩后的字节,而不是原始的UTF-8。这是我尝试过的命令:
aws s3 cp s3://mys3bucket.com/index.html ./test.html --content-encoding "gzip" --content-type "text/html"
aws s3 cp s3://mys3bucket.com/index.html ./test.html --content-encoding "gzip" --content-type "text/html" | zcat
您还可以将数据存储在文件中,以后再将其解压缩。
在S3端将其解压缩是无意义的,因为那样一来,您就必须传输更多数据(未压缩的版本)。