Как использовать Blobstore Google App Engine для сохранения веб-изображений - PullRequest
4 голосов
/ 30 декабря 2010

ОБНОВЛЕНИЕ

Этот вопрос изначально задавался в то время, когда не было поддержки создания программных файлов (например, через URL).Это изменилось, см .: http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore

Я получаю доступ к нескольким различным API для получения изображений.Мое приложение GAE + Python, и я хочу использовать Blobstore для сохранения этих изображений.Документация GAE Blobstore содержит четкие примеры того, как сохранять изображения в Blobstore через форму, но не напрямую с URL.

http://code.google.com/intl/iw/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

Я хочу знать, как сохранить http://api.website.com/images/foo.jpg в Blobstore.

Ответы [ 3 ]

2 голосов
/ 31 декабря 2010

HTTP POST к вашей собственной форме работает.Я не пытался отправить файл, но вот как я могу отправить форму.Вы можете получить файл из интернета, добавить его к отправке формы, и файл будет сохранен в вашем блоб-магазине.

import urllib
data = urllib.urlencode({"id":str(id), "password" : self.request.POST['passwd'], "edit" : "edit"})
result = urlfetch.fetch(url="http://www.montao.com.br/upload",
payload=data,
method=urlfetch.POST,
headers={'Content-Type': 'application/x-www-form-urlencoded'})

На этот же вопрос ответили здесь

Я надеюсь, что это работает для вас.

2 голосов
/ 27 мая 2011

Используя новый File API в сочетании с urlfetch API, вы сможете передавать URL-адрес изображения через форму, извлекать его на стороне сервера и записывать в хранилище:

http://code.google.com/intl/iw/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

0 голосов
/ 30 декабря 2010

Вы можете написать дополнительный обработчик для загрузки содержимого входного URL в обработчик хранилища BLOB-объектов.т.е. автоматизировать процесс отправки формы.сделайте запрос POST к обработчику хранилища BLOB-объектов и закодируйте изображение в URL-адресе.

Но единственная проблема будет в том случае, если файл слишком велик, то вы можете получить исключения тайм-аута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...