我有一个mongoDB数据库,我恢复了与我的Image相对应的base64数据。
我不知道如何将base64数据转换为图像。
答案 0 :(得分:20)
以基督徒的回答为基础,这里是完整的圆圈:
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()
答案 1 :(得分:6)
你可以试试这个:
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'。
答案 2 :(得分:3)
如果您想在网页中使用它,可以将base64编码的图像放入HTML文件中。
答案 3 :(得分:1)
您的图像文件(jpeg / png)编码为base64,编码的base64字符串存储在您的mongo db中。首先解码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)
扩展名是图片文件扩展名。