Как отображать анимированные GIF-изображения в браузере с Flask и Pillow без дискового ввода-вывода - PullRequest
0 голосов
/ 06 мая 2019

Я пытался отображать изображения в браузере с помощью Flask и Pillow, без необходимости что-либо сохранять или восстанавливать с диска.Вот пример того, как должно отображаться изображение:

https://f.i.uol.com.br/fotografia/2019/03/15/15526795065c8c025270c53_1552679506_4x3_sm.jpg

Я смог сделать это с помощью расширенных изображений PNG.Вот часть кода:

@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()
    answer = flask.make_response(pillow_image)
    response.content_type = "image/png"
    lenght = len(pillow_image)
    response.content_length = length
    return response

Класс ImageGenerator генерирует изображения в разных форматах, не считывая с диска ничего.

Приведенный выше пример работает с изображениями PNG, но когда я пытаюсь использовать GIFРасширение изображения, изображение появляется в браузере, однако оно не является анимированным.Может ли кто-нибудь помочь мне отобразить анимированный GIF в браузере без диска ввода / вывода ?

...