Konvertieren Sie das Base64-Image mit Node.js in eine Binärdatei

Ich habe Beiträge gefunden, die dem entsprechen, wonach ich suche, aber ich konnte nicht erfolgreich umsetzen, was ich will. Hier ist der allgemeine Ablauf:

Senden Sie das Foto mit den restlichen Veranstaltungsortdaten als base64-DatenDatenpräfix entfernen, falls vorhanden, daher habe ich nur die image base64-Daten
var base64data = venue.image.replace(/^data:image\/png;base64,|^data:image\/jpeg;base64,|^data:image\/jpg;base64,|^data:image\/bmp;base64,/, '');
Speichern Sie Base64-Daten in GridFS über MongoDB (ich verwendegridfstore)Dann möchte ich das Bild auf Anfrage als Rohbilddatei über eine URL abrufen.
// generic images route
server.get(version+'/images/:id', function(req, res) {
  gridfstore.read( req.params.id, function(error,data) {
    res.writeHead(200, {
      'Content-Type': 'image/jpeg',
      'Content-Length': data.buffer.length
    });

    res.end(data.buffer);
  });
});

Grundsätzlich gibt diese Methode die in GridFS gespeicherten Base64-Bytes zurück. Ich habe andere Methoden ausprobiert, aber sie geben das Rohbild nicht zurück.

Ich möchte das Bild mit folgenden URLs aufrufen:

http://[localhost]/1/images/11dbcef0-257b-11e3-97d7-cbbea10abbcb

Hier ist ein Screenshot des Browser-Trace:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage