Преобразование base64 в изображение в Python

У меня есть база данных mongoDB, и я восстанавливаю данные base64, которые соответствуют моему изображению.

Я не знаю, как преобразовать данные в base64 изображения.

4 ответов


Если вы хотите использовать это на веб-странице, вы можете просто поместить закодированное изображение base64 в HTML-файл.

см. википедию для получения дополнительной информации


опираясь на христиан ответьте, здесь полный круг:

import base64

jpgtxt = base64.encodestring(open("in.jpg","rb").read())

f = open("jpg1_b64.txt", "w")
f.write(jpgtxt)
f.close()

# ----
newjpgtxt = open("jpg1_b64.txt","rb").read()

g = open("out.jpg", "w")
g.write(base64.decodestring(newjpgtxt))
g.close()

или так:

jpgtxt = open('in.jpg','rb').read().encode('base64').replace('\n','')

f = open("jpg1_b64.txt", "w")
f.write(jpgtxt)
f.close()

# ----
newjpgtxt = open("jpg1_b64.txt","rb").read()

g = open("out.jpg", "w")
g.write(newjpgtxt.decode('base64'))
g.close()

Вы можете попробовать это:

import base64 
png_recovered = base64.decodestring(png_b64text)

'png_b64text' содержит текст из поля изображения mongoDB.

затем вы просто пишете "png_recovered" в файл:

f = open("temp.png", "w")
f.write(png_recovered)
f.close()

просто замените " png " на правильный формат.


ваш файл изображения (jpeg/png) закодирован в base64, а закодированная строка base64 хранится в вашей БД mongo. Сначала декодировать в base64 строку

import base64
image_binary=base64.decodestring(recovered_string_from_mongo_db)

теперь image_binary содержит двоичный изображения, запись двоичного файла

with open('image.extension','wb') as f:
    f.write(image_binary)

где расширение-это расширение файла изображения.