Tornado Handler pense que Post est un argument lorsque Firebug montre l'argument envoyé
Question
J'ai un formulaire simple en utilisant une méthode post-post, composée d'une zone de texte et d'un fichier. Après avoir été soumis, je peux voir le post dans Firebug comme suit:
Parts multipart/form-data
posttext Some text
image BlahJFIFBlahExifBlahPhotoshopBlahBinaryStuff etc...
Le gestionnaire de tornade qui le reçoit ressemble:
class NewPostHandler(BaseHandler, MessageMixin):
@tornado.web.authenticated
def post(self):
message = {
'posttext':self.get_argument('posttext'),
'image':self.get_argument('image'),
etc
Mais le gestionnaire de Tornado revient:
[W 100618 23:07:32 web:775] 404 POST /a/message/new (127.0.0.1): Missing argument image
Je ne sais pas trop ce que je fais mal ici. Ai-je raison de penser «l'argument» signifie l'attribut «nom» d'un élément d'entrée? Comment puis-je faire voir le gestionnaire de voir l'argument?
Merci pour votre aide, j'ai du mal avec ça depuis une heure et je dois admettre que je suis perplexe!
La solution
Pour les téléchargements de fichiers, vous devez utiliser self.request.files
à la place de self.get_argument()
.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow