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

StackOverflow https://stackoverflow.com/questions/4564619

Вопрос

ОБНОВИТЬ

Этот вопрос был первоначально задан в то время, когда не было поддержки для создания программного файла (например, через 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 в брус.

Это было полезно?

Решение

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

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

Другие советы

Http post в вашу собственную форму работает. Я не пытался отправить файл, но вот как я отправляю форму. Вы можете получить файл из Интернета, добавить его в представление формы, и файл будет храниться в вашем Blobstore.

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'})

Также есть аналогичный вопрос здесь

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top