捕获Flask中的错误,但正常继续请求

时间:2012-04-22 03:10:05

标签: python flask

我已经阅读了文档和谷歌搜索了我的问题,但我似乎无法找到一种方法来处理Flask中的错误而不终止请求并显示错误页面。

我想要处理的错误是werkzeug.exceptions.RequestEntityTooLarge,当文件上传超过指定的限制时会引发该错误。理想情况下,我希望能够在flask.request.files字典中添加一个元素,表明上传的文件超过了最大上传大小。然后,错误可以与原始表单一起显示,以便用户可以再次尝试。

这在Flask中甚至可能吗?

1 个答案:

答案 0 :(得分:2)

我认为这可能不可能。

服务器无法接收整个请求,因为一旦传递了max_content_length阈值,它就必须终止连接,丢弃在文件上载后发送的任何其他表单数据。服务器使用HTTP 413状态代码重置连接。虽然看起来可以注册一个函数来处理HTTP 413错误(并且可能是为了返回自定义错误页面),但这在Flask中不起作用。我认为这是一个错误。