Python S3 bucket开始下载图像而不是打开它

Python S3 bucket开始下载图像而不是打开它,python,python-3.x,amazon-web-services,amazon-s3,boto3,Python,Python 3.x,Amazon Web Services,Amazon S3,Boto3,我有这行代码 self.s3.put_object(Body=base64.b64decode(base64_image.split(',')[1]), Bucket='name-of-bucket', Key=filename + '.png', ContentType='image/png') 为了将图像上传到s3存储桶,我从项目的FE部分接收base64格式的图像。因此,问题是我不能在浏览器中打开s3存储桶中的图像,因为它想将其下载到我的计算机。问题尚不清楚。你能解释一下吗?问题是我想直

我有这行代码

self.s3.put_object(Body=base64.b64decode(base64_image.split(',')[1]), Bucket='name-of-bucket', Key=filename + '.png', ContentType='image/png')

为了将图像上传到s3存储桶,我从项目的FE部分接收base64格式的图像。因此,问题是我不能在浏览器中打开s3存储桶中的图像,因为它想将其下载到我的计算机。

问题尚不清楚。你能解释一下吗?问题是我想直接在浏览器中打开图像,而不是下载。S3存储桶可以包含任何类型的数据。二进制、文本、图像、电影等等。因此,没有办法“在浏览器中打开”,因为浏览器可能无法解释数据。下载是唯一明智的选择。如果支持查看PNG文件,您可以下载它,然后用本地浏览器打开。事实并非如此,当您将图像上载到bucket时,会生成一个url,如果您访问给定的url,则图像应在浏览器中打开。如果我通过aws站点手动上传给定的图像,并访问该url,图像将在浏览器中打开,但当我通过python脚本上传图像时,访问生成的url只是想下载图像,而不是仅仅打开图像。您的代码对我来说运行得非常好,并在对象上设置ContentType。当转到打开文件时,它在浏览器中打开。