我有一个启用了“静态网站托管”的S3存储桶。如果我通过AWS控制台将html文件上传到存储桶,则html文件将成功打开。如果我使用AWS CLI上传文件,则下载文件而不是在浏览器中显示为什么?
第一个文件可以在这里找到:https://s3.amazonaws.com/test-bucket-for-stackoverflow-post/page1.html
第二个文件可在这里找到:https://s3.amazonaws.com/test-bucket-for-stackoverflow-post/page2.html
我在AWS控制台上传了第一个文件,第二个文件是使用以下命令上传的:
aws s3api put-object --bucket test-bucket-for-stackoverflow-post --key page2.html --body page2.html
由于其“Content-Type”标题,下载了第二个文件。那个标题是:
Content-Type: binary/octet-stream
如果要显示它,它应该是:
Content-Type: text/html
尝试将--content-type text/html
添加到您的put-object
命令中。
参考:https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html