使用Python向S3图像上传添加元数据
我已经成功地把一张图片上传到S3的一个存储桶里,但我现在遇到一个问题,就是不知道怎么把内容类型设置为'image/png'。下面是我的代码:
image = Image.open(self.image)
conn = S3Connection(settings.AWS_ACCESS_KEY_ID, settings.AWS_SECRET_ACCESS_KEY)
out_im2 = cStringIO.StringIO()
image.save(out_im2, 'PNG')
b = conn.get_bucket('new_test_bucket')
k = b.new_key(self.title+'.png')
k.set_contents_from_filename(str(self.image))
现在上传的内容类型是'application/octet-stream'。
2 个回答
0
我发现,在你使用 set_contents_from_file
之前先设置元数据对我来说是有效的。不过我是在使用GCS,也许这会有所不同……
bucket = conn.get_bucket('plots')
k = bucket.new_key('000006')
k.set_metadata('Content-Type', 'image/png')
k.set_contents_from_stream(buff)
14
这是我用boto上传图片的代码是怎么工作的:
k.set_metadata('Content-Type', mime)
k.set_contents_from_file(data, policy='public-read')
k.set_acl('public-read')
嗯,这只是其中的一部分。