Tornado обработчик думает, что пост отсутствует аргумент, когда Firebug показывает, что аргумент отправляется

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

  •  28-09-2019
  •  | 
  •  

Вопрос

У меня есть простая форма, используя метод Post, состоящий из текстового поля и файла. После удара отправиться, я вижу пост в Firebug следующим образом:

Parts       multipart/form-data
posttext    Some text
image   BlahJFIFBlahExifBlahPhotoshopBlahBinaryStuff etc...

Обработчик торнадо, который получает, похоже на себя:

class NewPostHandler(BaseHandler, MessageMixin):
    @tornado.web.authenticated 
    def post(self):
        message = {
            'posttext':self.get_argument('posttext'), 
            'image':self.get_argument('image'),
            etc          

Но обработчик торнадо возвращается:

[W 100618 23:07:32 web:775] 404 POST /a/message/new (127.0.0.1): Missing argument image

Я не совсем уверен, что я делаю не так. Я правильно, думая «аргумент» означает атрибут «имя имени» входного элемента? Как я могу заставить обработчик увидеть аргумент?

Спасибо за вашу помощь, я боролся с этим в течение часа и должен признать, что я намазал!

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

Решение

Для загрузки файлов вы должны использовать self.request.files вместо self.get_argument().

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