我有一个使用POST方法的简单表单,由一个文本框和一个文件组成。点击提交后,我可以看到Firebug中的帖子如下:
Parts multipart/form-data
posttext Some text
image BlahJFIFBlahExifBlahPhotoshopBlahBinaryStuff etc...
接收它的Tornado处理程序如下所示:
class NewPostHandler(BaseHandler, MessageMixin):
@tornado.web.authenticated
def post(self):
message = {
'posttext':self.get_argument('posttext'),
'image':self.get_argument('image'),
etc
但是Tornado的处理程序返回:
[W 100618 23:07:32 web:775] 404 POST /a/message/new (127.0.0.1): Missing argument image
我不太确定我在这里做错了什么。我认为“参数”是指输入元素的“名称”属性吗?如何让处理程序看到参数?
感谢您的帮助,我一直在为此奋斗一小时,并且必须承认我很难过!
答案 0 :(得分:4)
对于文件上传,您应使用self.request.files
代替self.get_argument()
。