Накануне Python: как хранить изображения, которые генерируются на сервере?

У меня есть маленький API Python Eve, который принимает и успешно обрабатывает изображения как часть из нескольких частей. Как часть POST, я реализовал обработчик событий (к которому я добавляю eve_app.on_insert_image), которая вырезает часть изображения на чипы. Вот часть моей схемы, которая имеет отношение:

...
'things': {
     'type': 'list',
     'schema' : { 'type': 'dict',
                  'schema' : { 
                      'chip'     : { 'type' : 'media' },
                      'image_id' : { 'type' : 'string' },
                      'image_x'  : { 'type' : 'integer' },
                      'image_y'  : { 'type' : 'integer' }
                      }
                }
          },
 ...

Микросхемы предназначены для хранения в списке объектов, для которых одно из этих полей имеет тип media, В обработчике событий я сейчас делаю это:

retval, buff = cv2.imencode('.jpg', self.chip)
jpeg_as_text = base64.b64encode(buff)
return jpeg_as_text

но кажется, что она хранит строку, закодированную в формате base 64, в основном документе монго (например, так: "chip" : "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBg...), а не в GridFS, где хранится исходное изображение.

Как лучше всего использовать Python Eve для принудительного хранения поля / файла в GridFS?

Спасибо большое.

0 ответов

Другие вопросы по тегам