从nodeJS缓冲区对象

时间:2016-12-29 18:57:29

标签: javascript json node.js

我在Cloudant数据库中存储带有附件的文档,并且我使用nano客户端(此处提供的链接:https://github.com/dscape/nano)multipart get同时检索文档和附件。 api调用工作,我得到一个缓冲区,这是文档说我应该得到的;但我不知道如何解析/拆分缓冲区,以便我可以分离文档和附件(JPG)。

存储在数据库中的JSON对象如下所示:

{
  "_id": "3452345",
  "_rev": "12345",
  "projectName": "Project",
  "projectUrl": "https://github.com/",
  "projectDescription": "project",
  "_attachments": {
     "image": {
        "content_type": "image/png",
        "revpos": 1,
        "digest": "md5-yh3lM9PmqK2TCXc9OxSldg==",
        "length": 1396888,
        "stub": true
     }
  }
}

以下功能来自nano客户端并返回缓冲区;我相信它包含该缓冲区中的文档和实际图像附件。我如何分离或解析缓冲区,以便我可以检索文档数据以将其转换为JSON,然后将图像附件转换为base64编码。

db.multipart.get('myDoc', function(err, buffer) {
  if (!err){
    //not sure how to split/parse the buffer to retrieve doc and att
  }  
});

注意:我可以单独检索文档和附件,但我有两个执行http请求。文档http请求返回一个JSON对象,附件返回一个缓冲区,然后我使用buffer.toString(' base64');然后我可以轻松检索图像。

如果您知道从nodeJS缓冲区中提取数据的方法或更好的方法,请发表评论。最后请选择高效快捷的方法。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以将Buffer转换为JSON:

refs/original/

以下是documentation了解详情: