Tornado Handler cree que Post le faltan argumentos cuando Firebug muestra el argumento que se envía
Pregunta
Tengo un formulario simple usando un método de publicación, que consiste en un cuadro de texto y un archivo. Después de presionar enviar, puedo ver la publicación en Firebug de la siguiente manera:
Parts multipart/form-data
posttext Some text
image BlahJFIFBlahExifBlahPhotoshopBlahBinaryStuff etc...
El controlador de tornados que lo recibe parece:
class NewPostHandler(BaseHandler, MessageMixin):
@tornado.web.authenticated
def post(self):
message = {
'posttext':self.get_argument('posttext'),
'image':self.get_argument('image'),
etc
Pero el manejador de Tornado regresa:
[W 100618 23:07:32 web:775] 404 POST /a/message/new (127.0.0.1): Missing argument image
No estoy muy seguro de lo que estoy haciendo mal aquí. ¿Estoy en lo correcto al pensar 'argumento' significa el atributo de 'nombre' de un elemento de entrada? ¿Cómo puedo hacer que el controlador vea el argumento?
Gracias por tu ayuda, he estado luchando con esto durante una hora y debo admitir que estoy perplejo.
Solución
Para las cargas de archivos, debe usar self.request.files
en vez de self.get_argument()
.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow