首页 > 解决方案 > 使用连接处理烧瓶中的流式上传

问题描述

使用 Flask,用户可以(手动)使用 Flaskrequest.input_stream来处理流式上传。例如,处理不适合内存的上传 - 我想将它与connexion库结合起来以获取 JSON 验证。

有了这个connexion库,我似乎无法弄清楚如何访问原始数据流——看起来数据都是从 Connexion 的 FlaskApi.get_request 中读取的——EndOfRequestLifecycleDecorator在调用任何用户定义的处理程序函数之前就已经发生了。

是否可以禁用连接 - 或者至少不flask.requestConnexionRequest某些端点包装?

在服务器端,我希望能够在请求处理程序中执行类似的操作来访问原始流:

if headers['Content-Type'] == "application/octet-stream":
    # This should work
    data = request.input_stream.read()
    print(len(data))

但是它input_stream是空的,因为connexion它已经被吞了 - 如果我们正在处理不适合内存的上传,这会导致问题。

标签: python-3.xfile-uploadflask

解决方案


推荐阅读