在Python中将base64转换为图像
我有一个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文件里就可以了。