从大的 request_body 中分块读取数据。

问题描述 投票:0回答:1

我是新来的龙卷风。目前,我想从一个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]))
python-3.x request tornado chunks
1个回答
0
投票

当你使用 @stream_request_body,你的RequestHandler类应该定义一个方法。data_received 当数据进来的时候,它将被调用。该 post 方法是在接收到所有数据后在最后调用的。

请注意,目前还不能使用与参数相关的方法与 @stream_request_body中的数据进行解析;你需要在 data_received 的方式来接收。这意味着,如果可能的话,你会希望将你的API结构化,以普通的HTTP PUT方式接收图片,而不是用表单式的POST包装。

© www.soinside.com 2019 - 2024. All rights reserved.