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-Datenvar 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: