Javascript 如何将Uint8ClampedArray转换为节点式缓冲区;
我正在处理一个使用xmlrpc将图像发布到wordpress的节点。这个 postIMGRPC方法接受原始图像数据,并通过Javascript 如何将Uint8ClampedArray转换为节点式缓冲区;,javascript,wordpress,node.js,Javascript,Wordpress,Node.js,我正在处理一个使用xmlrpc将图像发布到wordpress的节点。这个 postIMGRPC方法接受原始图像数据,并通过wp.uploadFileuri提交它。我已使用图像文件在节点中成功测试了该方法: var imgData; fs.readFile("anyImage.jpg", function(e,d){ imgData = d } ); wp.postIMGRPC("anyImage.jpg", imgData, 1) .then(function(r
wp.uploadFile
uri提交它。我已使用图像文件在节点中成功测试了该方法:
var imgData;
fs.readFile("anyImage.jpg", function(e,d){ imgData = d } );
wp.postIMGRPC("anyImage.jpg", imgData, 1)
.then(function(r){console.log(r)})
现在,我希望能够在客户端javascript中获取画布的imgData
,并通过node.js模块以相同的方式提交:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("myImg");
ctx.drawImage(img,0,0);
var imgData = ctx.getImageData(0,0,250,300);
var data = imgData.data;
但是,当我尝试将数据(类型uint8clampedaray
)传递到节点模块时,上载的文件是一个空白图像。我试过:
wp.postIMGRPC("anyImage.jpg", imgDataFromJS, 1)
.then(function(r){console.log(r)})
以及
buf = new Buffer(imgDataFromJS)
wp.postIMGRPC("anyImage.jpg", buf, 1)
.then(function(r){console.log(r)})
如何将
uint8clampedaray
从imgData
转换为类似于fs.readFile()
返回的Buffer
?使用Buffer.from
,如所示:
...
var imgData = ctx.getImageData(0,0,250,300);
var data = imgData.data;
var buf = Buffer.from(data);
这个倒过来怎么样?我有一个节点缓冲区,需要一个
UInt8ClampedArray
@Noitidart新的UInt8ClampedArray(nodeBuffer)
谢谢你!!