我正在使用web.py创建一个RESTful API,并使用 web.data()通过POST接收数据,如下所示:
def POST(self):
data = web.data()
现在,当数据大小超过某个限制(比如10MB)时,我想返回一个错误。
我知道如何通过 web.input()来捕获 ValueError ,但我不知道如何使用web.data()。有什么想法吗?
答案 0 :(得分:1)
data()
只需从CONTENT_LENGTH
读取EOF
个字节(或直到ctx.env['wsgi.input']
)。因此,如果您想在一定量的字节后中止,只需从那里直接读取(并设置ctx.data
),那么您可以控制要读取的字节数。
或者如果设置了CONTENT_LENGTH
标题,您可以直接检查它并在必要时中止而不读取...