问题描述
我正在尝试使用名为 BLOB
的 npm 包中的 nodejs 从 Oracle 读取 oracledb
数据类型,这是我的选择语句,其中包含图片:
select media from test_data
我尝试了一些解决方案,但没有用。
这是我从 res.json
那里得到的回复:
{
"MEDIA": {
"_readableState": {
"objectMode": false,"highWaterMark": 16384,"buffer": {
"head": null,"tail": null,"length": 0
},"length": 0,"pipes": [],"flowing": null,"ended": false,"endEmitted": false,.....
},
如何获取它的十六进制值?
解决方法
您正在看到一个 node-oracledb Lob class 实例,您可以从中进行流式传输。
但是,直接获取 Buffer 可能是最简单的。为此,请设置 $password = '';
if (strlen($user_data['password']) == 32) {
$password = $user_data['password'];
} else {
if (!isset($user_data['salt']) || empty($user_data['salt'])) {
$password = md5($user_data['password']);
} else {
$password = fn_generate_salted_password($user_data['password'],$user_data['salt']);
}
}
return $password;
,例如:
oracledb.fetchAsBuffer