Próbuję przesłać i zapisać obraz o zmienionym rozmiarze w polu db.BlobProperty w Google App Engine przy użyciu Django.Przechowywanie obrazów w App Engine przy użyciu Django
odpowiednia część mojego zdania, że przetworzyć żądania wygląda następująco:
image = images.resize(request.POST.get('image'), 100, 100)
recipe.large_image = db.Blob(image)
recipe.put()
Który Wygląda byłoby logicznym Django odpowiednik przykład w docs:
from google.appengine.api import images
class Guestbook(webapp.RequestHandler):
def post(self):
greeting = Greeting()
if users.get_current_user():
greeting.author = users.get_current_user()
greeting.content = self.request.get("content")
avatar = images.resize(self.request.get("img"), 32, 32)
greeting.avatar = db.Blob(avatar)
greeting.put()
self.redirect('/')
(źródło: http://code.google.com/appengine/docs/python/images/usingimages.html#Transform)
Ale nadal pojawia się błąd z informacją: NotImageError/Empty image data.
i odnosi się do tej linii:
image = images.resize(request.POST.get('image'), 100, 100)
Mam problemy z dostaniem się do danych obrazu. Wygląda na to, że nie jest on przesyłany, ale nie wiem, dlaczego. Moja forma ma enctype = "multipart/form-data" i wszystko to. Myślę, że coś jest nie tak z tym, jak mam na myśli dane obrazu. "request.POST.get (" image ")", ale nie wiem, jak inaczej się do niego odwoływać. Jakieś pomysły?
Z góry dziękuję.
dzięki za pomoc hcalves , Nadal muszę coś robić nie tak, ponieważ zmieniłem to: image = images.resize (request.FILES ['image'], 300, 200) recipe.large_image = db.Blob (image) przepis. put() Teraz otrzymuję BadImageError w wywołaniu resize(). Ponadto GAE domyślnie używa django .96 ...może powinienem spróbować to zmienić? Próbowałem również wykonać request.FILES ['image']. Read(), ale to nie zadziałało. Mówi mi, że "obiekt" dyktujący nie ma atrybutu "czytaj" " Będę z tym jutro bałaganił. Ale jeśli masz jakieś sugestie, jestem tylko uszy. Dzięki jeszcze raz. –