【问题标题】:File upload validation Tornado Python文件上传验证 Tornado Python
【发布时间】:2014-12-03 12:00:44
【问题描述】:

我发现这个示例使用 Tornado Python Web 框架将文件上传到服务器,但问题是这些示例都没有开发错误处理。如果我提交没有附加文件的表单,它会返回 500 错误。这个想法是将上传文件字段设置为可选而不是强制性的。

https://github.com/vamsiikrishna/tornado-upload

http://technobeans.wordpress.com/2012/09/17/tornado-file-uploads/

你能帮帮我吗?

我想这可能有一个简单的解决方案,但我是一个新手。

提前致谢!

【问题讨论】:

    标签: python forms file upload tornado


    【解决方案1】:

    谷歌我找到了这个解决方案:

    import tornado.ioloop
    import tornado.web
    
    UPLOAD_FILE_PATH = '/path/to/files/'
    
    class MainHandler(tornado.web.RequestHandler):
        def get(self):
            args = dict(username = 'visitor')
            self.render('home.html', **args)
    
    class UploadHandler(tornado.web.RequestHandler):
        def post(self):
            username = self.get_argument('username', 'anonymous')
            if self.request.files.get('uploadfile', None):
                uploadFile = self.request.files['uploadfile'][0]
                filename = uploadFile['filename']
                fileObj = open(UPLOAD_FILE_PATH+username+filename, 'wb')
                fileObj.write(uploadFile['body'])
                self.redirect('/')
    
    application=tornado.web.Application([(r'/',MainHandler),('/upload', UploadHandler) ],
    template_path = 'templates',
    debug = True
    )
    
    if __name__=='__main__':
        application.listen(8888)
        tornado.ioloop.IOLoop.instance().start()
    

    认为是在文件请求之前放置以下条件:if self.request.files.get('uploadfile', None):

    【讨论】:

    • 你需要修复你的代码缩进,这是没有正确缩进的伪造 Python 代码。
    猜你喜欢
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 2010-12-27
    • 2014-06-30
    • 2011-05-15
    • 2012-10-30
    • 2010-12-18
    相关资源
    最近更新 更多