如何使用python和pillow将图像存储在mongodb文档中



我有以下代码,用于创建从请求到 url 的缩略图:

r = requests.get(image_url, stream=True, headers=headers)
size = 500, 500
img = Image.open(r.raw)
thumb = ImageOps.fit(img, size, Image.ANTIALIAS)

此时,我想将图像存储在 mongo 文档中,如下所示:

photo = {
    'thumbnail': img,
    'source': source,
    'tags': tags,
    'creationDate': datetime.now(),
}

显然这是行不通的,那么我需要应用什么样的转换才能执行此操作?

好的,

这是我对此的想法(我不确定它会起作用;一些想法是从这里采用的(。

我认为您可以使用pymongo库中的二进制BSON类型来实现所需的目标。尝试以二进制格式加载图像。比如说使用枕头(pil.image(或

image_file = open('1.bmp', 'rb')

或作为

image_file = StringIO(open("test.jpg",'rb').read())

然后将其发送到pymongo中的二进制(image_file(类型

Binary_image_file = Binary(image_file) #pymongo libary

然后在 mongo 中做一个正常的插入。

要阅读。 做一个普通的查找((。然后从key加载值并将存储到图像的数据转换为:

image_data = StringIO.StringIO(Stringio_image_file)
image = Image.open(image_data)

我希望这有所帮助。(你也可以选择艾登base64命题(。

万事如意。

最新更新