【问题标题】:Add metadata to image upload to S3 with Python使用 Python 将元数据添加到图像上传到 S3
【发布时间】:2012-03-02 09:27:21
【问题描述】:

我已成功将图像添加到 S3 上的存储桶中,但问题是我不确定如何将内容类型设置为“图像/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”的形式上传。

【问题讨论】:

    标签: python amazon-s3 png content-type boto


    【解决方案1】:

    这是我的图片上传代码(使用 boto)的工作原理:

    k.set_metadata('Content-Type', mime)
    k.set_contents_from_file(data, policy='public-read')
    k.set_acl('public-read')
    

    至少是一部分。

    【讨论】:

      【解决方案2】:

      我发现在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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-11
        • 2020-08-18
        • 2023-03-20
        • 1970-01-01
        • 2014-06-26
        • 1970-01-01
        • 1970-01-01
        • 2014-07-13
        相关资源
        最近更新 更多