2016-12-29 25 views
1

我在Cloudant數據庫中存儲具有附件的文檔,並且我正在使用nano客戶端(此處提供鏈接:https://github.com/dscape/nano)multipart同時檢索文檔和附件。 api調用工作,我得到一個緩衝區,這是文檔說我應該得到的;但我不知道如何解析/分割緩衝區,以便我可以將文檔和附件(JPG)分開。從nodeJS緩衝區對象中檢索數據

存儲在數據庫中的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 
    } 
    } 
} 

下面的函數是從納米客戶端,並返回一個緩衝器;我相信它包含文檔和該緩衝區中的實際圖像附件。如何分離或解析緩衝區,以便我可以檢索文檔數據以將其轉換爲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緩衝區中提取數據的方法或更好的方法,請發表評論。最後請選擇高效快捷的方法。

謝謝

回答

0

可以緩衝轉換成JSON:

buffer.toJSON()

這裏是documentation瞭解更多詳情: