2016-12-29 1 views
1

Ich speichere Dokumente mit Anhängen in der Cloudant-Datenbank und benutze den nano-Client (Link hier: https://github.com/dscape/nano) multipart get, um das Dokument und den Anhang zur gleichen Zeit abzurufen. Der api-Aufruf funktioniert und ich bekomme einen Puffer, der in der Dokumentation steht. aber ich weiß nicht, wie man den Puffer analysiert/teilt, damit ich das Dokument und den Anhang (ein JPG) trennen kann.Abrufen von Daten aus dem NodeJS-Pufferobjekt

Das Objekt JSON in der Datenbank das sieht aus wie gespeichert:

{ 
    "_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 
    } 
    } 
} 

Die folgende Funktion von Nano-Client ist und gibt einen Puffer; was ich glaube, enthält sowohl das Dokument als auch die tatsächliche Bildanlage in diesem Puffer. Wie kann ich den Puffer trennen oder parsen, so dass ich die Dokumentdaten abrufen kann, um sie in JSON zu konvertieren, und dann den Bildanhang, um ihn als base64-codiert zu haben.

Hinweis: Ich kann das Dokument und den Anhang separat abrufen, aber ich habe zwei auf HTTP-Anforderungen durchführen. Die http-Anforderung des Dokuments gibt ein JSON-Objekt zurück, und die Anlage gibt einen Puffer zurück, den ich dann puffer.toString ('base64'); und dann kann ich das Bild leicht abrufen.

Wenn Sie eine Möglichkeit kennen, die Daten aus dem Knoten JS-Puffer oder eine bessere Möglichkeit zu extrahieren, hinterlassen Sie einen Kommentar. Schließlich wählen Sie bitte Methoden, die effizient und schnell sind.

Danke

Antwort

0

Sie können Buffer zu JSON konvertieren:

buffer.toJSON()

Hier documentation für weitere Informationen: