有一个潜在的… hacky解决方案来解决您的问题。Flask能够通过生成器将内容流回给用户。hacky部分将流空白数据,以检查连接是否仍然打开,然后在您的内容完成后,生成器可以生成实际图像。您的生成器可以检查处理是否完成并返回,None
或者如果处理未完成则进行""
任何检查。
from flask import Response
@app.route('/image')
def generate_large_image():
def generate():
while True:
if not processing_finished():
yield ""
else:
yield get_image()
return Response(generate(), mimetype='image/jpeg')
我不知道如果客户端关闭连接会遇到什么异常,但我敢打赌 error: [Errno 32] Broken pipe