我正在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
答案 0 :(得分:0)
我不知道为什么,但我将文件打开命令改为此,现在一切正常:
`content = urllib2.urlopen(img_url).read()`