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

Schreibe einen Kommentar