Преобразование 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)
где расширение-это расширение файла изображения.