2016-03-31 23 views
1

Transfer-Encoding: chunked (Content-Length) koduna sahip olmayan POST gövdesinden veri almayı denerim. İçerik türü application/octet-stream. CherryPy Chunked Kodlanmış İstek Gövdesi Nasıl Okur

Ben
cherrypy.request.body.read() 

çalıştı Ama dondu ve

500 Ben de

buffer = cherrypy.request.body.read(1024) 

çalıştı Ama okuma zaman duracağını bilmiyor döndü. Herkesin öneri var mı?

cevap

2

Kullanmakta olduğum kod burada.

def POST(self): 
    f = open('tmp','wb') 
    cherrypy.request.rfile.bufsize = 1024 * 1024 * 5 #adjust buffer size here 
    while True: 
     cherrypy.request.rfile._fetch();    #reading data 
     if cherrypy.request.rfile.closed:    #end of stream checking 
      break 
     buffer = cherrypy.request.rfile.buffer  #your data is here 
     cherrypy.request.rfile.buffer = ""   #clearing buffer 
     f.write(buffer)        #consume it 

    f.close() 
    return "done" 
+1

Çözümünüzü gönderdiğiniz için teşekkür ederiz :) – zjm555