Python前夕:如何存储服务器上生成的图像?

时间:2017-06-18 19:30:10

标签: python gridfs eve

我有一个小的python eve API,它接受并成功处理图像作为多部分的一部分。作为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

但似乎将基本64位编码的字符串存储在主mongo文档中(如此:"chip" : "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBg...),而不是存储源图像的GridFS中。

在Python Eve中,强制将字段/文件存储在GridFS中的最佳方法是什么?

非常感谢。

0 个答案:

没有答案