2012-02-09 11 views
6

S3のバケットに画像を追加できましたが、コンテンツタイプを 'image/png'に設定する方法がわかりません。ここに私のコードです画像にメタデータを追加してPythonでS3にアップロード

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'としてアップロードされています。

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

まあ、少なくともその一部:

答えて

14

これは(のbotoを使用して)私の画像アップロードのコードがどのように動作するかです。

+0

リンクが無効です – Alexis

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) 
関連する問題