使用 boto3 将图像上传到 AWS S3 不会显示在浏览器窗口中,但通过 AWS 控制台上传图像可以正常工作

问题描述 投票:0回答:1

所以我有一个带有以下代码的 AWS lambda:

result = s3.put_object(
    Bucket = "my-bucket",
    Key = "image.png"
    Body = decoded_image,
    ContentType = "image/png",
    Tagging = "Key1=Value1"
)

图像已成功上传到存储桶,但是当我尝试在浏览器中访问图像时,文件会下载。

如果我直接从AWS控制台将图像上传到同一个存储桶,我可以在浏览器窗口中查看图像。

这两个图像的属性/权限看起来都一样。

这是存储桶的权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::my-bucket/*"
        }
    ]
}
amazon-s3 aws-lambda boto3
1个回答
0
投票

因此我可以使用以下网址在浏览器中访问图像: https://s3.amazonaws.com/my-bucket/image.png 在图像属性页上它显示了这个 url,但它不起作用: https://my-bucket.s3.us-east-1.amazonaws.com/image.png

© www.soinside.com 2019 - 2024. All rights reserved.