显示存储在MongoDB中的PNG二进制文件的图像

2024-09-27 23:23:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个mongodb集合,看起来像这样:

{
 u'_id': u'someid',
 u'files': {u'screenshot': Binary('\x89PNG\r\n\x1a\n\...', 0)}
}

屏幕截图是二进制格式,我想显示它。 在python中我该怎么做呢?在

我已经用pymongo建立了到数据库的连接,但是我不知道如何解码bytestream。请记住,我没有创建这个数据库,我只能访问它。在


Tags: id数据库屏幕mongodb格式二进制files解码
2条回答

有人回答了这个问题,然后删除了他的答案,我不知道他为什么删除它,因为它对我有帮助。以下两行是他的贡献:

with open('output.png', 'wb') as f:
    f.write(item[u'files'][u'screenshot'])

然后我用Tkinter显示图像:

^{pr2}$

例如,^{}

import sys
from cStringIO import StringIO

from bson.binary import Binary
from pymongo import MongoClient
from PIL import Image

data = open(sys.argv[1], 'rb').read()

client = MongoClient()
db = client.so
db['images'].remove()
db['images'].insert({'id': 1, 'img': Binary(data)})

for rec in db['images'].find():
    im = Image.open(StringIO(rec['img']))
    im.show()

这个脚本将一个PNG文件作为它的第一个参数,将它的二进制表示插入到Mongo集合中,检索这个二进制表示,最后显示这个图

相关问题 更多 >

    热门问题