2012-10-09 12 views
7

Wie kann ich auf die hochgeladene Datei in Tornado zugreifen, wenn Sie eine put Anfrage verwenden?Datei-Upload mit Tornado

@require_basic_auth 
class UploadFile(tornado.web.RequestHandler): 
    def put(self, params): 
     path = calculate_path(params) 
     # TODO: create an empty binary file at path and then copy 
     # the request input stream to it. 

Antwort

7
@require_basic_auth 
class UploadFile(tornado.web.RequestHandler): 
    def put(self, params): 
     path = calculate_path(params) 
     with open(path, 'wb') as out: 
      body = self.request.get_argument('data') 
      out.write(bytes(body, 'utf8'))   

... war was ich brauchte.

Auf einigen ActiveState-Seiten gefunden.

+0

'Bytes' akzeptiert nur ein Argument (Python 2.7), gibt es einen Tippfehler? – daniel

10

self.request.files sollte in Ordnung sein. Hier ist ein example.