如何在 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
版本不同造成的。
按照 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
版本不同造成的。