我正在使用 Node Red 来实现 Web 服务,并且正在绞尽脑汁将 base64 字符串转换为字节数组(uint8array)或将缓冲区转换为 uint8array。
我的红色节点流的一个“节点”将图像输出为缓冲区或 base64 字符串。我需要将响应的图像传递到需要 uint8array 基础图像的 Web 服务中。
使用 atob 和 btoa 有很多答案,但 node red 不支持它。
这是我想要的缓冲区格式:
这是我要调用的 Web 服务的文档:
https://demous-cdb.thereforeonline.com/theservice/v0001/restun/help/operations/CreateDocument
我尝试了很多方法:
function toArrayBuffer(myBuf) {
var myBuffer = new ArrayBuffer(myBuf.length);
var res = new Uint8Array(myBuffer);
for (var i = 0; i < myBuf.length; ++i) {
res[i] = myBuf[i];
}
return myBuffer;
}
=====
也试过用...
var buf = Buffer.from(b64string, 'base64')
上面的解决方案不会生成 uint8array
你有什么主意吗?