Eu tenho um site com músicas listadas e, quando uma música é selecionada, o método send_file
pausa todo o servidor até o arquivo ser enviado no Python Flask. Isso significa que se alguém clica em uma música e depois clica na home, a home só carrega quando o send_file
termina de enviar o arquivo.
@app.route('/getMedia/')
def getMedia():
file = request.args.get('filename')
def getReqFile():
with open(f'./media/{file}', mode="rb") as file_like:
yield from file_like
try:
send_file(f'./media/{file}', conditional=True, as_attachment=True)
return Response(getReqFile())
except FileNotFoundError:
return 'The media you tried to view doesn\'t exist.'