Node.js erhalten ein Bild aus dem Web und kodieren mit base64
Ich bin versucht zu Holen ein Bild aus dem web und encode es mit base64.
was ich habe, so weit ist es im Grunde:
var request = require('request');
var BufferList = require('bufferlist').BufferList;
bl = new BufferList(),
request({uri:'http://tinypng.org/images/example-shrunk-8cadd4c7.png',responseBodyStream: bl}, function (error, response, body)
{
if (!error && response.statusCode == 200)
{
var type = response.headers["content-type"];
var prefix = "data:" + type + ";base64,";
var base64 = new Buffer(bl.toString(), 'binary').toString('base64');
var data = prefix + base64;
console.log(data);
}
});
Dies scheint zu sein, ziemlich nah an der Lösung, aber ich kann es nicht ganz zum laufen bekommen. Es erkennt den Datentyp aus und gibt die Ausgabe:
data:image/png;base64
jedoch die bufferlist 'bl' scheint leer zu sein.
Vielen Dank im Voraus!
InformationsquelleAutor der Frage Aleksr9 | 2013-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
BufferList obsolet ist, da es die Funktionalität ist jetzt in core-Knoten. Der einzige schwierige Teil hier ist die Einstellung Anforderung nicht die Verwendung beliebiger Codierung:
InformationsquelleAutor der Antwort dankohn
Können Sie die base64-stream Node.js Modul, welches ein streaming-Base64 encoder /decoder. Der Vorteil dieser Methode ist, dass Sie konvertieren Sie das Bild ohne Puffer die ganze Sache in den Speicher, und ohne Verwendung der Anfrage-Modul.
InformationsquelleAutor der Antwort Ross J
SPÄTESTENS AB 2017 ENDET
Gut, nach der Lektüre über Antworten und ein wenig Forschung, habe ich eine neue Art, die erfordert keine installation von Paket
http
- Modul(die integriert ist) ist genug!HINWEIS: ich habe es im node version 6.x, so dass ich denke, es ist auch anwendbar auf die oben genannten Versionen.
Ich hoffe, es hilft!
Überprüfen Sie auch, ob Sie mehr über die
http.get(...)
hier !InformationsquelleAutor der Antwort Ankur Shah
Verwende ich zum laden und codieren von image in base64-string Knoten-base64-Bild npm-Modul.
Herunterzuladen und zu Kodieren ein Bild:
Kodieren einer lokalen Bild:
InformationsquelleAutor der Antwort webmato