Tornado Handler pensa che Post manchi l'argomento quando Firebug mostra l'argomento inviato
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!
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