Я использовал этот вопрос в качестве шаблона для решения той же проблемы, но у меня возникают проблемы при публикации. У меня есть эти компоненты:
- HTML форма с текстовым полем для URL-адреса изображения. Это сообщение для...
- обработчик, который берет опубликованный URL-адрес, кодирует его и использует
urlfetch
для повторной отправки в... - Отдельный обработчик загрузки файлов, который выполняет фактическое сохранение.
Компонент № 3 отлично работает сам по себе, если я использую ввод файла. Но я не совсем понимаю, как получить urlfetch
то, что ему нужно, только из URL-адреса изображения. Мой процесс либо истекает, либо получает ответ 500 от финального обработчика.
# 1
class URLMainHandler(RequestHandler):
def get(self):
return render_response('blob/upload_url.html',
upload_url=url_for('blobstore/upload/url'))
# 2
class URLUploadHandler(RequestHandler):
def post(self):
import urllib
# Get the posted image URL.
data = urllib.urlencode({'file': self.request.form.get('file')})
# Post image to blobstore by calling POST on the file upload handler.
result = urlfetch.fetch(url=blobstore.create_upload_url(url_for('blobstore/upload')),
payload=data,
method=urlfetch.POST)
return self.redirect(url_for('blobstore/url'), result.status_code)
# 3
class UploadHandler(RequestHandler, BlobstoreUploadMixin):
def post(self):
# 'file' is the name of the file upload field in the form.
upload_files = self.get_uploads('file')
blob_info = upload_files[0]
response = redirect_to('blobstore/serve', resource=blob_info.key())
# Clear the response body.
response.data = ''
return response
Опять же, это процесс, которому я следую а>. Спасибо за вашу помощь!