如何在 Python 中使用 Quart 发送文件流?

Geo*_*sis 5 python quart

按照Izmailoff 博客文章中设置的示例,我能够从 Flask 向用户发送远程文件,但是当我切换到Quart时,我开始收到TypeError: 'function' object is not iterable错误。

该代码几乎与博客上的完全相同,我尝试使用await但无济于事,因为它出错了object Response can't be used in 'await' expression

我的代码如下,raw_url直接访问URL:

req = requests.get(raw_url, stream=True)
return Response(stream_with_context(req.iter_content()), content_type=req.headers['content-type'])
Run Code Online (Sandbox Code Playgroud)

Azy*_*282 1

错误

for data in iterable:  # type: ignore
Run Code Online (Sandbox Code Playgroud)

类型错误:“函数”对象不可迭代

告诉您stream_with_context()不返回类型的对象iterable。您确实可以通过打印该函数的输出来检查它并查看它返回的内容。

我唯一的猜测是模块返回的值iter_content()可能req与博客上的不同

req.iter_content()
Run Code Online (Sandbox Code Playgroud)

因此出现错误。我也倾向于认为这也可能是flask/python版本差异造成的。