3

我正在尝试在不使用自定义后端的情况下将文件上传到 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 上传?

4

1 回答 1

7

我不久前遇到了类似的问题,而不是使用set_contents_from_filename(f)tryk.set_contents_from_string(f.read())

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

于 2012-08-06T22:46:43.580 回答