Как мне вызвать обработчик запросов в google appengine, python - PullRequest
1 голос
/ 21 ноября 2011

Я пытаюсь загрузить файл из формы в два этапа и использую BlobStoreUploadHandler.На первом шаге я получаю данные формы с помощью обработчика запросов и проверяю их на правильность (форма action = "/ a").Затем, если форма верна, я хочу переписать действие формы в upload_url, где

upload_url = blobstore.create_upload_url('/a') 

и вызвать запрос на публикацию с новым path_info.Как мне позвонить с запросом с измененным path_info?

class SendFormwithFile(webapp.RequestHandler):
    ...
    def post(self):
        ... 
        if form.is_valid():
            self.request.path_info = upload_url

        else:
            ...
            return form with error message
            ...

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Существует новый экспериментальный код записи файлов в интернет-магазин, который может удовлетворить ваши потребности. Цитата:

App Engine позволяет программно создавать большие двоичные объекты, предоставляя файловый API, который можно использовать для чтения и записи в большие двоичные объекты

0 голосов
/ 21 ноября 2011

Я не уверен на 100%, почему вам нужно сначала обработать это с помощью обработчика запросов.

Вот пример кода, который я использовал, который был первоначально опубликован в качестве ответа на мой вопрос:

class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
    def post(self):
        try:
            upload_files = self.get_uploads('file')
            blob_info = upload_files[0]

            newFile = StoredFiles()
            newFile.nickname = self.request.get('nickname')
            newFile.blobkey = blob_info.key()
            newFile.put()

            self.redirect('/')
        except:
            self.redirect('/upload_failure.html')

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

Вот ссылка на вопрос / ответ с более подробной информацией: Нужна помощь в обработке формы загрузки в Google App Engine Blobstore

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