Я использую модуль node-mysql узла Node.JS. Один столбец имеет тип BLOB и хочет прочитать его, и, если возможно, base64 закодирует его. Я не смог найти ничего о том, как это сделать.Node.JS чтение BLOB из mysql
Любые идеи?
Я использую модуль node-mysql узла Node.JS. Один столбец имеет тип BLOB и хочет прочитать его, и, если возможно, base64 закодирует его. Я не смог найти ничего о том, как это сделать.Node.JS чтение BLOB из mysql
Любые идеи?
Попробуйте следующий фрагмент кода:
var buffer = new Buffer(blob);
var bufferBase64 = buffer.toString('base64');
Если капля двоичного кода, используйте следующую вместо:
var buffer = new Buffer(blob, 'binary');
var bufferBase64 = buffer.toString('base64');
Можно также упростить, что в одну строку:
var bufferBase64 = new Buffer(blob, 'binary').toString('base64');
Примечание: mysql-node автоматически преобразует объекты Blob в javascr ipt Буферные объекты.
В приведенном выше ответе указывается кодировка base64.
Для меня, самый простой способ, чтобы просто прочитать его как строку в узел был: myObject.myBlobAttr.toString('utf-8')
По состоянию на 28 января 2015 года,
От Феликса mysql-node page:
Литье под давлением
Для вашего удобства этот драйвер будет по умолчанию используют типы mysql для встроенных типов JavaScript. Существуют следующие отображения:
...
Buffer
TINYBLOB
MEDIUMBLOB
LONGBLOB
BLOB
BINARY
VARBINARY
BIT (последний байт будет заполнен 0 бит по необходимости)
Редактировать Альтернативный вариант для UTF-8 (?)
String.fromCharCode.apply(null, new Uint16Array(myObject.myBlobAttr));