【问题标题】:Flask: check for size of uploaded filesFlask:检查上传文件的大小
【发布时间】:2021-02-15 22:52:04
【问题描述】:

我希望能够检查上传文件的大小。 如果超过限制,我希望能够发出我的 REST API 错误。

我有这个代码:

app.config['MAX_CONTENT_LENGTH'] = 1024 * 1024

如果您尝试上传大于 1MB 的文件,应用程序现在会拒绝它。

但这并没有给我很多控制权,就我的应用程序将生成的 REST API 消息而言。

那么我如何检查上传文件的最大大小,并在发生这种情况时发出我的个人消息以及 HTTP 状态代码?

编辑: 现在我在我的 curl 终端(客户端)上收到了这个

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>413 Request Entity Too Large</title>
<h1>Request Entity Too Large</h1>
<p>The data value transmitted exceeds the capacity limit.</p>

虽然我想发送这样的东西(服务器端代码):

return make_response(json.dumps({'error_message': 'file size too large'}), 413)

【问题讨论】:

  • 我想你可以参考这篇文章来回答你的问题stackoverflow.com/questions/62869992/…
  • @Babapt 谢谢,但我不想重定向。我想传输我自己的 REST API 错误消息。请查看我的问题的编辑。
  • 找到了。检查答案,但谢谢!

标签: python-3.x flask file-upload


【解决方案1】:

用这个解决了:

@app.errorhandler(413)
def request_entity_too_large(error):
    return make_response(json.dumps({'error_message': 'file size too large'}), 413)

添加错误处理程序

【讨论】:

    猜你喜欢
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 2021-08-19
    • 1970-01-01
    • 2011-08-20
    • 2013-05-28
    • 1970-01-01
    相关资源
    最近更新 更多