Flask 文件上传限制

2023-11-27

我有一个用于多个文件上传的文件上传处理程序,并设置了 MAX_CONTENT_SIZE。文档提到当总文件大小超过限制时,Flask 会抛出 413 异常,因此我还使用自定义 413 页面编写了 413 错误处理程序。但是,在测试文件上传时,我可以看到肯定会抛出 413 错误,但连接似乎每次都会中断,而不是呈现我的错误页面。仅供参考,我目前正在使用 Flask 开发服务器。

Code:

app.config['MAX_CONTENT_LENGTH'] = 50 * 1024 * 1024    # 50 Mb limit

@app.route('/upload', methods=['POST'])
def upload_files():
    if request.method == 'POST':
       uploaded_files = request.files.getlist('uploaded_files[]')

       # do some stuff with these files



@app.errorhandler(413)
def error413(e):
    return render_template('413.html'), 413

UPDATE:

好吧,奇怪的是,这个问题似乎只在使用 Flask 开发服务器时才会出现。我正在 Apache 上测试它,我的 413 错误页面渲染得很好。


使用生产 WSGI 服务器将解决这个问题(例如Gunicorn, Waitress)。以下是此问题的简单时间表。

2015

In 这个片段Armin Ronacher 发布的帖子中,他说:

您可能会注意到,如果您开始在传入的 POST 请求中不访问 .form 或 .files,某些浏览器将通过连接重置消息来表示这一点。如果您开始拒绝大于给定大小的上传,则可能会发生这种情况。

一些 WSGI 服务器可以为您解决该问题,而其他服务器则不能。例如,内置的 Flask 网络服务器非常愚蠢,不会尝试解决这个问题。

2018

我在 Flask 的文件上传文档中添加了一个提示(烧瓶#2662):

连接重置问题

使用本地开发服务器时,您可能会收到连接重置错误而不是 413 响应。使用生产 WSGI 服务器运行应用程序时,您将获得正确的状态响应。

2021

我认为/希望它会在不久的将来在 Werkzeug 中得到修复(工厂#1513).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask 文件上传限制 的相关文章

  • 如何关闭python服务器

    使用此代码来运行 python 服务器 import os from http server import SimpleHTTPRequestHandler HTTPServer os chdir c users owner desktop
  • 如何在 Django Admin 的“更改”页面中显示内嵌上传的图像?

    我正在尝试在中显示内联上传的图像 变更列表 页面在 Django 管理中 这是我的代码如下 models py from django db import models class Product models Model name mod
  • 如何在 python 中使用 libSVM 计算精度、召回率和 F 分数

    我想计算precision recall and f score using libsvm在Python中 但我不知道如何 我已经发现这个网站 http www csie ntu edu tw cjlin libsvmtools eval
  • 使用 for 循环 Python 为数组赋值

    我正在尝试将字符串的值分配给不同的数组索引 但我收到一个名为 列表分配超出范围 的错误 uuidVal distVal uuidArray distArray for i in range len returnedList for beac
  • 尽管 ioff() 和 matplotlib.use('Agg'),Pyplot“无法连接到 X 服务器 localhost:10.0”

    我有一段代码 它被不同的函数调用 为我执行一些计算 然后将输出绘制到文件中 鉴于整个脚本可能需要一段时间才能运行更大的数据集 并且由于我可能想在给定时间分析多个数据集 所以我开始它screen然后断开连接并关闭我的腻子会话 并在第二天再检查
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 使用 pygtk3 将 GUI 窗口添加到 python opencv2 程序

    我已经使用Python和Opencv2完成了一个程序 现在 我想向我的程序添加一个 GUI 窗口 我对 PyGtk3 有一些经验 因此 我修改了代码以采用 PyGtk3 但是 我遇到了错误 因此 我尝试了一个简单的程序来找出实际的错误 我的
  • 预处理 csv 文件以与 tflearn 一起使用

    我的问题是关于在将 csv 文件输入神经网络之前对其进行预处理 我想使用 python 3 中的 tflearn 为著名的 iris 数据集构建一个深度神经网络 数据集 http archive ics uci edu ml machine
  • 熊猫 style.background_gradient 忽略 NaN

    我有以下代码来转储数据帧results到 HTML 表格中 这样的列TIME FRAMES根据seaborn 的颜色图进行着色 import seaborn as sns TIME FRAMES 24h 7d 30d 1y Set CSS
  • Python控制台默认十六进制显示

    我在 Python 控制台中做了很多工作 其中大部分都涉及地址 我更喜欢以十六进制形式查看地址 So if a 0xBADF00D 当我简单地输入Python gt a进入控制台查看其值 我更喜欢 python 回复0xBADF00D代替1
  • 在 PyCharm 中运行命令行命令

    你好 我正在使用Python 但之前从未真正使用过它 我收到一些命令 需要在终端中运行 基本上 python Test py GET feeds 我正在使用 PyCharm 我想知道是否有办法从该 IDE 中运行这些相同的命令 按 Alt
  • 使用 Twisted Python 的 UDP 客户端和服务器

    我想创建一个服务器和客户端 使用 Twisted 从网络发送和接收 UDP 数据包 我已经用 Python 中的套接字编写了此代码 但想利用 Twisted 的回调和线程功能 然而 我需要 Twisted 设计方面的帮助 我想接收多种类型的
  • 如何使用子进程打开新的浏览器选项卡?

    我正在打开一个新的 IE 窗口 subprocess Popen r os environ PROGRAMFILES Internet Explorer IEXPLORE EXE Call URL 当 IE 关闭时这很好 但即使打开它也会生
  • 将 Python 控制台集成到 GUI C++ 应用程序中

    I m going to add a python console widget into a C GUI below some other controls 许多类将暴露给 python 代码 包括一些对 GUI 的访问 也许我会考虑 P
  • 将多个 isinstance 检查转换为结构模式匹配

    我想转换此现有代码以使用模式匹配 if isinstance x int pass elif isinstance x str x int x elif isinstance x float Decimal x round x else r
  • 如何在 scikit-learn 的 SVM 中使用非整数字符串标签? Python

    Scikit learn 具有相当用户友好的用于机器学习的 python 模块 我正在尝试训练用于自然语言处理 NLP 的 SVM 标记器 其中我的标签和输入数据是单词和注释 例如 词性标记 而不是使用双精度 整数数据作为输入元组 1 2
  • pip-tools 的干净设置不会编译非常基本的 pyproject.toml

    使用全新的pip tools设置总是会导致Backend subprocess exited error pyproject toml project dependencies openpyxl gt 3 0 9 lt 4 在仅包含上述 p
  • 磁盘寻道时间测量方法

    我编写了一个脚本来测量 HDD 上的寻道时间 并且其完成方式的微小变化会导致显着不同的时间 第一个周期在磁盘开头的区域内进行跳转 第二个周期选择磁盘上执行查找的随机区域 相同大小 这种方法显然不同 但我不明白为什么它会改变结果 请注意 对于
  • 为什么 Python exec 中的模块级变量无法访问?

    我正在尝试使用Pythonexec in a project https github com arjungmenon pypage执行嵌入的Python代码 我遇到的问题是在模块级 in an exec声明是难以接近的来自同一模块中定义的
  • 从 xgb.train() 获取概率

    我是 Python 和机器学习的新手 我在网上搜索了我的问题 并尝试了人们建议的解决方案 但仍然没有得到它 如果有人能帮助我 我将非常感激 我正在开发我的第一个 XGboost 模型 我已经使用 xgb XGBClassifier 调整了参

随机推荐

  • 为什么我的 php substr() 在剪切文本时显示模糊字符?

    我正在使用substr 函数限制字符串中的字符 但有时 输出文本包含一些晦涩的字符和问号等 substred 的文本已经是 UTF8 编码的 而不是在 html 实体中出现这样的问题 Thanks 因为你正在把你的角色切成两半 Use mb
  • 需要为 EmptyStacks 创建一个新的 RunTimeException

    所以我的任务可能听起来很简单 但它让我感到困惑 我已经浏览了互联网上的代码 但我无法掌握 我也不行 掌握老师发布的幻灯片 这就是对我的要求 创建一个名为 EmptyStackException 的新运行时异常类型 然而我不知道如何制作方法
  • 如何使用元对象协议向对象添加属性?

    我试图回答this问题 并认为我可以使用元对象协议向类添加属性 这是一个我尝试添加属性的最小示例test到班级Configuration施工后 use v6 class Configuration my config Configurati
  • 核心数据中的索引关系

    我刚刚开始在 iPhone SDK 上使用 Core Data 并且正在考虑保存有序列表 例如数组 然而 核心数据中的关系在检索时表示为集合 这使得保存对象的放置顺序变得困难 一个很好的例子是允许对项目进行重新排序时表视图中的数据项目 一个
  • JSF生成的HTML元素ID是变化的,如何将其设置为固定的元素ID?

    我有一个 JSF 输入文本组件 其 id 为search 在生成的 HTML 输出中 它看起来像这样j idt17 search 但是数量17正在不时发生变化 怎样才能让它保持一成不变呢 给生成 HTML 元素的 JSF 组件id j id
  • install_name_tool -change 和 -id 之间的区别

    我已经在这个概念上苦苦挣扎了一段时间 我无法真正理解两者之间的区别 change and id 手册页指出 id name Changes the shared library identification name of a dynami
  • 滚动我自己的@Html.BeginfOrm()

    我正在编写一个自定义验证集 它将显示 div 上所有缺失的元素 我希望能够使用自定义 Html BeginForm 方法将写出该 div 但我真的不知道从哪里开始 因为这个坚果比写出标签或字符串的 html 扩展更难破解 表单封装了数据 控
  • 差异算法

    有人可以推荐一些关于 XML 的基于树的 diff 算法的论文 文献 或代码片段 基于 DOM 树 非常感谢 这是一篇关于相同内容的有用论文 http pdf aminer org 000 301 327 x diff an effecti
  • 将 props 传递给 Material UI 样式

    鉴于Card代码如here 如何更新卡片样式或任何材质 UI 样式 const styles theme gt card minWidth 275 对此如下 const styles theme gt card minWidth 275 b
  • Heroku 中使用 OpenCV 的 Python Web 应用程序

    我正在构建一个在后端使用 OpenCV 的 Web 应用程序 我已经在 Ubuntu 上构建了该应用程序 我也在 Windows 上尝试过 并且运行良好 目前 我正在尝试配置 OpenCV 以在 Heroku 上工作 由于无法使用 pip
  • 在 DataFrame.groupby 的情况下,如何根据另一列的最大值获取一列的值

    我有一个看起来像这样的数据框 id YearReleased Artist count 168 2015 Muse 1 169 2015 Rihanna 3 170 2015 Taylor Swift 2 171 2016 Jennifer
  • AngularJS 组复选框验证

    我有一个复选框列表 其中至少有一个是必填的 我尝试通过 AngularJS 验证来实现这一点 但遇到了困难 下面是我的代码 Code goes here for js var app angular module App function
  • C++ 是否可以计算出整个向量? [复制]

    这个问题在这里已经有答案了 我需要计算一个向量 不仅仅是其中的一个元素 而是整个事物 例如 std cout 您可以定义一个实用函数 例如 template
  • 64 位 Windows 上 long 的位大小是多少?

    不久前 有人告诉我long在 64 位机器上不是 64 位 我应该始终使用int 这对我来说没有意义 我看过文档 例如苹果官方网站上的文档 说long为 64 位 CPU 编译时确实是 64 位 我查了一下 64 位 Windows 上的内
  • 在 Emacs 中,如何使用键盘选择完成列表?

    当我在迷你缓冲区中按 Tab 键完成并且 Emacs 在新缓冲区中显示完成列表时 如何在不使用鼠标的情况下切换到该缓冲区 I tried C x o 但这只是切换到第一个缓冲区 我从中进入了迷你缓冲区 我也尝试过C x b 但这给了我com
  • 如何使用 npm 脚本重命名文件

    我在用复制文件作为一个 npmscirpt copyfiles u 2 src app conf dev json dist config 但最后我想把文件重命名 如何将输入文件重命名为类似的名称conf json 我检查了文档 没有发现可
  • 带定时器的 Windows 服务

    我在 c net 中创建了一个带有计时器的 Windows 服务 当我在 Visual Studio 中调试 构建项目时它工作正常 但安装后它不执行其操作 这背后的原因可能是什么 代码 public partial class Servic
  • 添加包含数字列的分箱值的列

    我有一个包含几列的数据框 其中一列是排名 是 1 到 20 之间的整数 我想创建另一列 其中包含 bin 值 如 1 4 5 10 11 15 16 20 最有效的方法是什么 我的数据框看起来像这样 csv 格式 rank name inf
  • 了解 WebElement.findElement() 和 XPATH

    我想使用WebElement findElement 使用 XPATH 定位父节点内节点的 API span class child class 我以为这会让我归还 div 那是在父级内部 然而 它返回了我在整个 DOM 树中找到的第一个
  • Flask 文件上传限制

    我有一个用于多个文件上传的文件上传处理程序 并设置了 MAX CONTENT SIZE 文档提到当总文件大小超过限制时 Flask 会抛出 413 异常 因此我还使用自定义 413 页面编写了 413 错误处理程序 但是 在测试文件上传时