Как загрузить изображение из MongoDB в объект PIL? - PullRequest
0 голосов
/ 29 октября 2019

Я храню некоторые изображения в базе данных MongoDB, используя GridFS. Я хотел бы загрузить их непосредственно в объект PIL без сохранения на жестком диске.

Моя попытка:

    f_id = mydb.images.files.find_one({ "filename" : "moto.jpeg" },{ "_id" : 1 })
    data = fs.get(f_id['_id']).read()

    img = Image.open(BytesIO(data))

Но я получаю сообщение об ошибке: OSError: не удается определить файл изображения <Объект _io.BytesIO по адресу 0x7ff3aeb03bf8>

Я также пробовал BytesIO_object.seek (0), но безрезультатно. Что я делаю не так?

1 Ответ

0 голосов
/ 29 октября 2019

Image.open принимает путь к файлу в качестве параметра , а не содержимое изображения.

Передайте путь к файлу в Image.open, и он должен работать

...