在Python中将base64转换为图像

18 投票
4 回答
52895 浏览
提问于 2025-04-16 14:04

我有一个mongoDB数据库,里面存储了对应于我的图片的base64数据。

我不知道怎么把base64数据转换成图片。

4 个回答

10

你可以试试这个:

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' 替换成正确的格式就可以了。

23

在基督的回答基础上,这里是完整的过程:

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()
6

如果你想在网页上使用这个,你只需要把经过base64编码的图片放进一个HTML文件里就可以了。

想了解更多信息,可以查看维基百科

撰写回答