从大型 request_body 中分块读取数据

Read data in chunks from large request_body

我是龙卷风的新手。目前我想阅读 post request_body 。但是post请求中的数据很大,所以我想通过stream_body_request在Tornado中实现它。但我无法实施它。如何分块阅读此 '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 class 应该定义一个方法 data_received,它将在数据传入时被调用。 post 方法被调用在接收到所有数据后结束。

请注意,目前无法将与参数相关的方法与 @stream_request_body 一起使用;您需要在 data_received 中解析数据。这意味着如果可能的话,您将希望构建 API 以将图像作为普通 HTTP PUT 接收,而不是包装在表单样式 POST。