我正在尝试将fil上传到S3,而不使用自定义后端。这就是我到目前为止所做的:
conn=boto.connect_s3(settings.AWS_KEY, settings.AWS_SECRET)
bucket=conn.get_bucket(settings.AWS_BUCKET)
k = Key(bucket)
filename = f.name
keyname = str(int(uuid.uuid4()))[:10] + filename
k.key = keyname
k.set_contents_from_filename(f)
url = "https://s3.amazonaws.com/.../" + keyname
我收到以下错误:
TypeError at /qc/86/
coercing to Unicode: need string or buffer, InMemoryUploadedFile found
如何在不使用自定义存储后端的情况下将文件从request['FILES']
正确上传到s3?
答案 0 :(得分:7)
我前面遇到了类似的问题,而不是使用set_contents_from_filename(f)
尝试k.set_contents_from_string(f.read())
我在这个项目中做了同样的事情:https://github.com/buddylindsey/developerrage/blob/master/developerrage/comic/views.py