2014-04-19 76 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() 

回答