如何将内存中的django文件上传到S3

我试图在不使用自定义后端的情况下将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

如何在不使用自定义存储后端的情况下将文件从请求[‘文件’]正确上传到s3?

最佳答案 我前面遇到类似的问题,而不是使用set_contents_from_filename(f)尝试k.set_contents_from_string(f.read())

我在这个项目中做了同样的事情:https://github.com/buddylindsey/developerrage/blob/master/developerrage/comic/views.py

点赞