Wie speichere ich ein binäres Objekt in redis mit node?

Ich versuche, ein binäres Objekt in redis zu speichern und es dann als Bild zurückzuliefern.

Hier ist der Code, mit dem ich die Daten speichere:

var buff=new Buffer(data.data,'base64');
client.set(key,new Buffer(data.data,'base64'));

Hier ist der Code zum Ausgeben der Daten:

client.get(key,function(err,reply){
        var data = reply;
        response.writeHead(200, {"Content-Type": "image/png"});
        response.end(data,'binary');

});

Die ersten paar Bytes der Daten scheinen beschädigt zu sein. Die magische Zahl ist falsch.

Haben Sie experimentiert:

wenn ich folgendes tue:

var buff=new Buffer(data.data,'base64');
console.log(buff.toString('binary'));

Ich bekomme das:

0000000: c289 504e 470d 0a1a 0a00 0000 0d49 4844

wenn ich das tue

 var buff=new Buffer(data.data,'base64');
 console.log(buff);

Ich bekomme folgendes:

Puffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00

Ich bin nicht sicher, woher die c2 kommt

Antworten auf die Frage(4)

Ihre Antwort auf die Frage