2012-10-09 22 views
7

Jak uzyskać dostęp do przesłanego pliku w Tornado, korzystając z żądania put?Przesyłanie plików z 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. 

Odpowiedz

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'))   

... było to, czego potrzebowałem.

Znaleziono na niektórych stronach ActiveState.

+0

'bytes' akceptuje tylko jeden argument (python 2.7), czy istnieje literówka? – daniel