【发布时间】:2012-08-08 14:07:15
【问题描述】:
我正在尝试使用 tornado、pil 和 mongodb 来做这件事。
avat = self.request.files['avatar'][0]["body"]
nomfich = self.request.files['avatar'][0]["filename"]
try:
image = Image.open(StringIO.StringIO(buf=avat))
size = image.size
type = image.format
avatar = r"/profile-images/{0}/{1}".format(pseudo, nomfich)
except IOError:
self.redirect("/erreur-im")
和数据库代码:
user={
"pseudo": pseudo,
"password":password,
"email":email,
"tel":tel,
"commune":commune,
"statut":statut,
"nom":nom,
"prenom":prenom,
"daten":daten,
"sexe":sexe,
"avatar":avatar
}
self.db.essog.insert(user)
一切正常,“头像”被保存了,但是没有图像,它只保存了一个名字!
我的问题是:
- 要了解数据库是如何处理图片的,我必须要创建image.save(path, format),但是路径,是不是普通系统路径(windows,或linux)的路径?
- 配置文件很简单,我将图片上传限制为500ko,而mongodb中的文档为16mb,因此该文档将处理整个配置文件,但是即使是包含图片的小文档,我也必须使用gridFS吗? 关键问题在图片保存的路径上,卡住了,我是第一次处理数据库,所以很抱歉这个问题。
【问题讨论】:
-
我不能完全理解你想要做什么。
avatar看起来像一个文件路径名,我没有看到它用于实际保存上传的图像,我也没有看到你试图将图像字节保存为user文档的一部分。 -
正确格式化源代码
-
@JohnnyHK 抱歉,因为我只上传了代码片段,抱歉耽搁了,下面的答案给了我解释:D 谢谢 :)
标签: mongodb python-imaging-library tornado