从大型 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。
我是龙卷风的新手。目前我想阅读 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。