请参阅有关流内容的文档。基本上,您编写了一个生成数据块的函数,并将该生成器传递给响应,而不是一次传递整个响应。Flask和您的Web服务器完成其余工作。
from flask import stream_with_context, Response
@app.route('/stream_data')
def stream_data():
def generate():
# create and return your data in small parts here
for i in xrange(10000):
yield str(i)
return Response(stream_with_context(generate()))
@H_502_4@
如果文件是静态的,则可以使用send_from_directory()
。该文档建议您使用Nginx或其他支持X- SendFile的服务器,以便高效地读取和发送数据。