Node.JS liest BLOB von mysql

7

Ich benutze das Node.JS node-mysql-Modul. Eine Spalte hat einen BLOB-Typ und möchte daraus lesen und wenn möglich Base64 kodieren. Ich habe nichts gefunden, wie ich das machen könnte.

Irgendwelche Ideen?

    
Mitchell Simoens 28.01.2012, 01:57
quelle

2 Antworten

15

Probieren Sie das folgende Snippet:

%Vor%

Wenn Ihr Blob binär ist, verwenden Sie stattdessen Folgendes:

%Vor%

Sie können das auch auf eine Zeile vereinfachen:

%Vor%     
vimdude 28.01.2012, 02:18
quelle
9

Anmerkung: mysql-node konvertiert automatisch Blob-Objekte in JavaScript-Pufferobjekte.
Die obige Antwort bezieht sich auf die base64-Codierung.

Für mich war der einfachste Weg, es einfach als String im Knoten zu lesen: myObject.myBlobAttr.toString('utf-8')

Stand: 28. Januar 2015,
Von Felix mysql-node Seite :

Casting eingeben

Dieser Treiber wird mysql-Typen standardmäßig in native JavaScript-Typen umwandeln. Die folgenden Zuordnungen sind vorhanden:

...

Puffer

TINYBLOB
MEDIUMBLOB
LONGBLOB
BLOB
BINARY
VARBINÄR BIT (das letzte Byte wird bei Bedarf mit 0 Bits gefüllt)

Bearbeiten Alternative Option für UTF-8 (?)

String.fromCharCode.apply(null, new Uint16Array(myObject.myBlobAttr));

    
treejanitor 28.01.2015 15:48
quelle

Tags und Links