我有一个flask应用程序,允许用户从我的服务器下载数据。我使用'Response'和'stream_with_context':
from flask import Response, stream_with_context
import requests
我的API中的最后几行是:
r = requests.get(url, stream=True, timeout=180, verify=ssl_context)
return Response(stream_with_context(r.iter_content(chunk_size=2048)), headers=headers)
代码运行得很好,但问题是Flask不知道用户是否取消了下载或发生了中断。但是,如果用户取消下载,日志文件将显示以下内容:
uwsgi_response_write_body_do():连接被对等体重置
但这是来自***nginx***(我想),我不知道如果中断(取消)发生,如何触发flask中的函数。
1条答案
按热度按时间flmtquvp1#
可以使用
@ response.call_关于_关闭
内
@getfile_bp.after_request
比如: