此外,您还可以使用patch_request_class来修补应用程序的request_class,以设置上传的最大大小。
patch_request_class(app, 32 * 1024 * 1024)
MAX_CONTENT_LENGTH是拒绝上传文件超过您所需大小的正确方法。
app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024
# save to disk first, then check filesize
request.files['file'].save('/tmp/foo')
size = os.stat('/tmp/foo').st_size
-或-
# save to memory, then check filesize
blob = request.files['file'].read()
size = len(blob)
我没有在官方文档中看到提到
MAX_CONTENT_LENGTH
,也没有像SO帖子一样手动检查文件大小。这两种方法最终是相同的,还是存在(大/微妙的)差别?此外,patch_request_class
会首先将文件保存到磁盘以确定总上传大小,还是保存到内存?