Bom dia, estava fazendo alguns testes de como servir imagens em geral no browser com o Flask, sem precisar salvar qualquer coisa no disco. Segue abaixo um exemplo:
https://f.i.uol.com.br/fotografia/2019/03/15/15526795065c8c025270c53_1552679506_4x3_sm.jpg
Consegui fazer isso com imagens de extensão PNG. Segue uma parte do código (utilizei o pillow):
@app.route("png-image")
def returns_png_image()
pillow_image = ImageGenerator.generate_png_image()
b = BytesIO()
pillow_image.save(b, format='PNG', quality=95)
pillow_image = b.getvalue()
response = flask.make_response(pillow_image)
response.content_type = "image/png"
length = len(pillow_image)
response.content_length = length
return response
A classe ImageGenerator gera imagens com diversos formatos, sem ler dados do disco.
O exemplo acima funciona bem com imagens PNG, agora quando tento fazer com imagens de extensão GIF, até aparece a imagem no browser, porém ela não fica animada. Alguém poderia me ajudar a entender como deixar o gif animado, sem ter que ler ele do disco?