Node.JS从mysql读取BLOB

Node.JS从mysql读取BLOB,mysql,node.js,base64,blob,Mysql,Node.js,Base64,Blob,我正在使用Node.JS Node mysql模块。其中一列具有BLOB类型,并希望从中读取,如果可能,请对其进行base64编码。我还没有找到任何关于如何做到这一点的信息 有什么想法吗?试试下面的片段: var buffer = new Buffer( blob ); var bufferBase64 = buffer.toString('base64'); 如果blob是二进制的,请改用以下命令: var buffer = new Buffer( blob, 'binary' ); var

我正在使用Node.JS Node mysql模块。其中一列具有BLOB类型,并希望从中读取,如果可能,请对其进行base64编码。我还没有找到任何关于如何做到这一点的信息


有什么想法吗?

试试下面的片段:

var buffer = new Buffer( blob );
var bufferBase64 = buffer.toString('base64');
如果blob是二进制的,请改用以下命令:

var buffer = new Buffer( blob, 'binary' );
var bufferBase64 = buffer.toString('base64');
您还可以将其简化为一行:

var bufferBase64 = new Buffer( blob, 'binary' ).toString('base64');

注意:mysql节点会自动将Blob对象转换为javascript缓冲区对象。
上面的答案涉及base64编码

对我来说,在节点中将其作为字符串读取的最简单方法是:
myObject.myBlobAttr.toString('utf-8')


截至2015年1月28日,
来自Felix的:

类型转换

为方便起见,默认情况下,此驱动程序将mysql类型转换为本机JavaScript类型。存在以下映射:

缓冲区

TINYBLOB
中绿叶
LONGBLOB
水滴
二进制
VARBINARY
位(最后一个字节将根据需要填充0位)


编辑 UTF-8(?)的替代选项


String.fromCharCode.apply(null,新UINT16数组(myObject.myBlobAttr))

blob未定义<代码>新缓冲区现在已折旧-使用
缓冲区.from()
@RozzA Buffer.from(blob,'binary').toString();可以将Blob转换为字符串吗。