2014-04-19 36 views
0

我正在尝试编写一个小型Tornado服务器,允许用户使用HTML form上传文件,然后将该链接指向其他人,然后在上载文件的同时下载该文件。如何同时上传和下载文件

对于现在的想法是,data将是某种形式的由上传创建,然后通过下载消耗Iterator,但是目前整个文件被写入data

我发现有几个人在谈论与Tornado分块文件上传,但是找不到任何参考页面。

import os 
import tornado.web 
import tornado.ioloop 

settings = {'debug': True} 

data = None 

# assumes an <input type="file" name="file" /> 
class ShareHandler(tornado.web.RequestHandler): 
    def post(self, uri): 
     data = self.request.files['file'][0]['body'] 

class FetchHandler(tornado.web.RequestHandler): 
    def get(self, uri): 
     for line in data: 
      self.write(line) 

handlers = [ 
    (r'/share/(.*)', ShareHandler), 
    (r'/fetch/(.*)', FetchHandler), 
] 

application = tornado.web.Application(handlers, **settings) 
application.listen(8888) 
tornado.ioloop.IOLoop.instance().start() 

回答