Python запрашивает изображение base64

я использую requests чтобы получить изображение с удаленного URL. Поскольку изображения всегда будут 16x16, я хочу преобразовать их в base64, так что я могу вставить их позже, чтобы использовать в HTML img тег.

import requests
import base64
response = requests.get(url).content
print(response)
b = base64.b64encode(response)
src = "data:image/png;base64," + b

вывод response - это:

response = b'GIF89ax80x00x80x00xc4x1fx00xffxffxffx00x00x00xffx00x00xffx88x88"""xffff...

HTML-часть:

<img src="{{src}}"/>

но изображение не отображается.

как я могу правильно base-64 кодировать response?

3 ответов


Я думаю, что это просто

import base64
import requests

response = requests.get(url)
uri = ("data:" + 
       response.headers['Content-Type'] + ";" +
       "base64," + base64.b64encode(response.content))

предполагая, что content-type установлен.


вы можете использовать пакет base64.

import requests
import base64

response = requests.get(url).content
print(response)
b64response = base64.b64encode(response)
print b64response 

это сработало для меня:

import base64
import requests

response = requests.get(url)
uri = ("data:" + 
       response.headers['Content-Type'] + ";" +
       "base64," + base64.b64encode(response.content).decode("utf-8"))