我正在 ping 一个 API,它为我提供了图像的路径。然后我打开/读取该图像并将其保存到 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