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 のドキュメントは 16 MB であるため、ドキュメントはプロファイル全体を処理しますが、画像が含まれる小さなドキュメントでも gridFS を使用する必要がありますか? 重要な問題は、画像の保存のパスにあります。立ち往生しています。データベースを扱うのは初めてなので、その質問は申し訳ありません。