AWS S3 提供压缩文件但不可读
AWS S3 serving gzipped files but not readable
我正在使用 AWS S3 托管静态网页,几乎所有资产在上传前都经过 gzip 压缩。
在上传过程中 "content-encoding" header 正确设置为 "gzip"(这也反映了实际从 AWS 加载文件时的情况)。
问题是,尽管设置了正确的 headers,但文件仍无法读取且仍为 gzip 格式...
文件是使用 npm s3-deploy 上传的,这里是请求内容的屏幕截图:
以及浏览器中的文件内容:
如果我手动上传文件并将 content-encoding header 设置为 "gzip" 则效果很好。遗憾的是,我有几百个文件要为每个部署上传,并且不能一直手动执行此操作(我希望这是可以理解的;))。
有人知道这里发生了什么吗?有人使用过 s3-deploy 可以提供帮助吗?
我使用自己的bash脚本进行S3部署,你可以试试看:
webpath='path'
BUCKET='BUCKETNAME'
for file in $webpath/js/*.gz; do
aws s3 cp "$file" s3://"$BUCKET/js/" --content-encoding 'gzip' --region='eu-west-1'
done
我正在使用 AWS S3 托管静态网页,几乎所有资产在上传前都经过 gzip 压缩。
在上传过程中 "content-encoding" header 正确设置为 "gzip"(这也反映了实际从 AWS 加载文件时的情况)。
问题是,尽管设置了正确的 headers,但文件仍无法读取且仍为 gzip 格式...
文件是使用 npm s3-deploy 上传的,这里是请求内容的屏幕截图:
以及浏览器中的文件内容:
如果我手动上传文件并将 content-encoding header 设置为 "gzip" 则效果很好。遗憾的是,我有几百个文件要为每个部署上传,并且不能一直手动执行此操作(我希望这是可以理解的;))。
有人知道这里发生了什么吗?有人使用过 s3-deploy 可以提供帮助吗?
我使用自己的bash脚本进行S3部署,你可以试试看:
webpath='path'
BUCKET='BUCKETNAME'
for file in $webpath/js/*.gz; do
aws s3 cp "$file" s3://"$BUCKET/js/" --content-encoding 'gzip' --region='eu-west-1'
done