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

How do I send a file stream using Quart in Python?

按照 Izmailoff's blog post, I was able to send remote files from Flask to the user, but when I switched to 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'])

错误

for data in iterable:  # type: ignore

TypeError: 'function' object is not iterable

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

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

req.iter_content()

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