0

イメージへのパスを提供している API に ping を実行しています。次に、その画像を開いて読み取り、s3 のデータベースに保存します。

問題は、実際の画像を保存するのではなく、単語だけを保存していることRaw Contentです。私は何を間違っていますか?

これが私の関連コードです。基本的に、ファイルへのパスをフィールドに保存しcoverart、関数store_in_s3_partpicはファイルへのパスを返します。この関数も明らかにコンテンツを S3 にロードします。

pic = partpics['url']
# CACHING
img_url = pic
name = urlparse(img_url).path.split('/')[-1]
#wrap your file content??
content = ContentFile(urllib2.urlopen(img_url).read())
unipart.coverart = store_in_s3_partpic(name, content)

ここで「生のコンテンツ」だけが表示される原因となる何か間違ったことをしていますか?

これが私の store_in_s3_partpic コードです:

def store_in_s3_partpic(name, content):
    print "STORING PARTPIC"
    conn = S3Connection(settings.AWS_ACCESS_KEY_ID, settings.AWS_SECRET_ACCESS_KEY)
    pathtofile = "partpics/%s" % (name)
    b = conn.create_bucket('mybucket')
    mime = mimetypes.guess_type(name)[0]
    k = Key(b)
    k.key = "/media/partpics/%s" % (name)
    k.set_metadata("Content-Type", mime)
    k.set_contents_from_string(content)
    k.set_acl("public-read")
    return pathtofile
4

1 に答える 1

0

理由はわかりませんが、ファイルを開くコマンドをこれに変更したところ、すべて機能するようになりました。

        `content = urllib2.urlopen(img_url).read()`
于 2012-11-06T16:35:32.893 に答える