Amazon s3 更改已上载到AWS S3 bucket的多个文件的默认内容类型

Amazon s3 更改已上载到AWS S3 bucket的多个文件的默认内容类型,amazon-s3,aws-cli,Amazon S3,Aws Cli,使用aws cli,我将5gb的文件上传到一个AmazonS3存储桶,我已经创建了一个静态网站。站点引用的一些文件是.shtml文件,但S3已默认为元数据内容类型binary/octet stream,但我希望这些文件的元数据内容类型为text/html。否则它在浏览器中不起作用 是否有aws cli s3api命令可用于更改扩展名为.shtml的所有文件的内容类型?要修改Amazon S3对象上的元数据,请将对象复制到自身中并指定元数据 从StackOverflow:: 可以对特定文件类型设置

使用aws cli,我将5gb的文件上传到一个AmazonS3存储桶,我已经创建了一个静态网站。站点引用的一些文件是.shtml文件,但S3已默认为元数据内容类型
binary/octet stream
,但我希望这些文件的元数据内容类型为
text/html
。否则它在浏览器中不起作用


是否有aws cli s3api命令可用于更改扩展名为.shtml的所有文件的内容类型?

要修改Amazon S3对象上的元数据,请将对象复制到自身中并指定元数据

从StackOverflow::


可以对特定文件类型设置内容类型,如下所示

"aws s3 sync ${BASE_DIR} s3://${BUCKET_NAME} --exclude *.shtml"
"aws s3 sync ${BASE_DIR} s3://${BUCKET_NAME} --exclude '*' --include '*.shtml' --no-guess-mime-type --content-type text/html"

为什么第一行提到.svg?BASE_DIR指的是什么?更新后与OP的问题相关。BASE_DIR将是文件的位置。
"aws s3 sync ${BASE_DIR} s3://${BUCKET_NAME} --exclude *.shtml"
"aws s3 sync ${BASE_DIR} s3://${BUCKET_NAME} --exclude '*' --include '*.shtml' --no-guess-mime-type --content-type text/html"