我是新来的龙卷风。目前,我想从一个post request_body中读取数据,但post request中的数据很大,所以我想在Tornado中通过stream_body_request来实现。但是post request中的数据比较大,所以我想在Tornado中通过stream_body_request来实现。但是我无法实现。如何分块读取这个'img_data'?
@stream_request_body
class MyReportPDF(BaseHandler):
async def post(self):
data = escape.json_decode(self.get_body_argument('img_data'))#This data is an base_64_array
for i in range(len(data)):
# Clean the base_64 Image
data[i].replace('data:image/jpeg;base64,', '')
decode_image.append(base64.b64decode(data[i]))
当你使用 @stream_request_body
,你的RequestHandler类应该定义一个方法。data_received
当数据进来的时候,它将被调用。该 post
方法是在接收到所有数据后在最后调用的。
请注意,目前还不能使用与参数相关的方法与 @stream_request_body
中的数据进行解析;你需要在 data_received
的方式来接收。这意味着,如果可能的话,你会希望将你的API结构化,以普通的HTTP PUT方式接收图片,而不是用表单式的POST包装。