在Python中将base64转换为Image

时间:2011-03-20 13:07:57

标签: python image base64

我有一个mongoDB数据库,我恢复了与我的Image相对应的base64数据。

我不知道如何将base64数据转换为图像。

4 个答案:

答案 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文件中。

See wikipedia for more info

答案 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)

扩展名是图片文件扩展名。