【发布时间】:2015-11-12 13:04:41
【问题描述】:
我已经覆盖了 django 中的默认文件存储,以将模型图像字段保存在 amazon s3 中。
只有open 方法没有按预期工作,我得到:
[Errno 22] invalid mode ('rb') or filename: http://image.buzzhearts.com/media/2015/11/12/11/99f0301c46d7945c91b16b0c2d61ab13.jpg
文件已经在 s3 中:http://image.buzzhearts.com/media/2015/11/12/11/99f0301c46d7945c91b16b0c2d61ab13.jpg
代码:
class CS3Storage(FileSystemStorage):
def open(self, name, mode='rb'):
return File(open(self.path(name), mode)) # <-- problem
def path(self, name):
# returns http://image.buzzhearts.com/media/2015/11/12/11/99f0301c46d7945c91b16b0c2d61ab13.jpg
return 'http://image.buzzhearts.com/%s' % name
我错过了什么?我想,我必须首先从 s3 获取图像文件,例如requests 然后打开对吗?
【问题讨论】:
标签: python django file-io amazon-s3