Tornado Handler pensa che Post manchi l'argomento quando Firebug mostra l'argomento inviato

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

  •  28-09-2019
  •  | 
  •  

Domanda

Ho una forma semplice usando un metodo post, costituito da una casella di testo e un file. Dopo aver colpito l'invio, posso vedere il post in Firebug come segue:

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

Il gestore tornado che riceve sembra:

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

Ma il gestore di tornado ritorna:

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

Non sono del tutto sicuro di cosa sto sbagliando qui. Ho ragione nel pensare "argomento" significa attributo "nome" di un elemento di input? Come posso far vedere al gestore l'argomento?

Grazie per il tuo aiuto, ho lottato con questo per un'ora e devo ammettere che sono sconcertato!

È stato utile?

Soluzione

Per i carichi di file dovresti usare self.request.files invece di self.get_argument().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top