Jak przechowywać obiekt binarny w redis za pomocą węzła?
Usiłuję zapisać obiekt binarny w redis, a następnie odświeżyć go jako obraz.
Oto kod, którego używam do zapisywania danych:
var buff=new Buffer(data.data,'base64');
client.set(key,new Buffer(data.data,'base64'));
Oto kod zrzucający dane:
client.get(key,function(err,reply){
var data = reply;
response.writeHead(200, {"Content-Type": "image/png"});
response.end(data,'binary');
});
Pierwsze kilka bajtów danych wydaje się być uszkodzone. Magiczna liczba jest nieprawidłowa.
Czy niektóre eksperymenty:
kiedy wykonuję następujące czynności:
var buff=new Buffer(data.data,'base64');
console.log(buff.toString('binary'));
Rozumiem:
0000000: c289 504e 470d 0a1a 0a00 0000 0d49 4844
kiedy to robię
var buff=new Buffer(data.data,'base64');
console.log(buff);
Otrzymuję następujące informacje:
Bufor 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00
Nie jestem pewien, skąd pochodzi c2