2012-10-09 28 views
7

¿Cómo accedo al archivo cargado en Tornado, cuando uso una solicitud put?Carga de archivo con 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. 

Respuesta

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

... era lo que necesitaba.

Se encuentra en algunas páginas de ActiveState.

+0

'bytes' solo acepta un argumento (python 2.7), ¿hay algún error tipográfico? – daniel

10

self.request.files debería estar bien. Aquí hay un example.