2016-03-31 13 views
1

Transfer-Encoding: chunkedヘッダ(Content-Lengthはありません)を持つPOSTボディからデータを取得しようとしています。コンテンツタイプはapplication/octet-streamです。CherryPyチャンクエンコードされたリクエストボディの読み方

私は

cherrypy.request.body.read() 

を試みたが、それは500

を凍結し、返された私はまた

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

を試みたが、読み取りを停止したときに知りません。 誰かが提案していますか?

答えて

2

私が使用したコードは次のとおりです。

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

ソリューションを投稿していただきありがとうございます:) – zjm555

関連する問題