首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Flask文件大小限制- 413错误关闭连接

Flask文件大小限制- 413错误关闭连接
EN

Stack Overflow用户
提问于 2020-07-13 13:57:59
回答 1查看 1.2K关注 0票数 0

我在Flask中设置了一个文件限制。当文件被正确上传时,它会阻止超过4mb的文件,并返回413错误。然而,这将关闭服务器上的连接,这意味着重定向不起作用。我想要做的就是在出现这个错误时保持连接打开,这样我就可以重定向用户。

我的文件大小限制设置为:

代码语言:javascript
运行
复制
app.config['MAX_CONTENT_LENGTH'] = 4 * 1024 * 1024

捕获异常的代码是:

代码语言:javascript
运行
复制
try:
    form = FileUploadForm();
except Exception as e:
    print(e)
    flash(u"File size too large: please choose a file under 4mb","danger")
    return redirect(url_for("home"))

这是返回的异常:

代码语言:javascript
运行
复制
413 Request Entity Too Large: The data value transmitted exceeds the capacity limit.

代码"return redirect(url_for("home"))“不起作用,我相信是因为错误413导致连接关闭。这是在开发模式下运行的Flask。

我已经尝试了建议答案中的代码,但似乎不起作用。我的代码现在看起来像这样:

代码语言:javascript
运行
复制
@app.errorhandler(413)
def largefile_error(e):
    print("Large file")
    return redirect(url_for("addsign")), 413

@app.route('/addsign', methods=['GET', 'POST'])
def addsign():
    if not current_user.is_authenticated:
        flash(f"Please login to upload a sign","danger")
        return redirect(url_for('home'))
    form = FileUploadForm()

在控制台中,我可以看到以下输出。

代码语言:javascript
运行
复制
Large file
127.0.0.1 - - [13/Jul/2020 18:02:34] "POST /addsign HTTP/1.1" 413 -
EN

回答 1

Stack Overflow用户

发布于 2020-07-13 14:55:20

代码语言:javascript
运行
复制
from flask import redirect

@app.errorhandler(413)
def largefile_error(e):
 return redirect(url_for("your_function_name")), 413

你可以参考一下this

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62869992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档