Flask 烧瓶根据POST要求重置连接,主体较大

Flask 烧瓶根据POST要求重置连接,主体较大,flask,Flask,我使用flask运行了一个非常简单的端点: import flask api = flask.Flask(__name__) @api.route('/file/<filename>', methods=['GET', 'POST']) def get_file(filename): return flask.send_from_directory("Input", filename, mimetype="application/json&q

我使用flask运行了一个非常简单的端点:

import flask

api = flask.Flask(__name__)

@api.route('/file/<filename>', methods=['GET', 'POST'])
def get_file(filename):
    return flask.send_from_directory("Input", filename, mimetype="application/json")

if __name__ == '__main__':
    api.run()
奇怪的是,我可以通过如下修改代码来解决这个问题:

@api.route('/file/<filename>', methods=['GET', 'POST'])
def get_file(filename):
    flask.request.get_data()
    return flask.send_from_directory("Input", filename, mimetype=getMimeType(filename))
@api.route('/file/',方法=['GET',POST']
def get_文件(文件名):
flask.request.get_data()
返回flask.send_from_目录(“输入”,文件名,mimetype=getMimeType(文件名))
这在OSX BigSur上使用Python 3.7.7和Flask 1.1.2实现。我可以在Catalina、Python3.7.4和Flask 1.1.1上运行的另一个Mac上重现这个问题。我无法在Windows计算机上重现该问题(我从第一台Mac复制了环境)。响应被截断的点是随机的,但错误情况和“固定”情况都可以可靠地再现

我知道这是一个有点模糊的问题,因为我无法提供一个简单的方法来重现这个问题。这部分是因为要返回的主体和文件都必须是“大的”,在我的示例中,主体是57kB,响应文件是2MB,部分是因为我不确定到底是哪个组件导致了错误的发生

但也许错误描述已经敲响了警钟

谢谢

@api.route('/file/<filename>', methods=['GET', 'POST'])
def get_file(filename):
    flask.request.get_data()
    return flask.send_from_directory("Input", filename, mimetype=getMimeType(filename))