【发布时间】:2017-12-18 23:54:19
【问题描述】:
我正在使用 xmlrpc 将图像发布到 wordpress 的节点 module 上工作。这
postIMGRPC 方法接受原始图像数据并通过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;
但是,当我尝试将数据(类型 Uint8ClampedArray)传递到我的节点模块时,上传的文件是一个空白图像。我试过了:
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)})
如何将Uint8ClampedArray 从imgData 转换为类似于fs.readFile() 返回的Buffer?
【问题讨论】:
标签: javascript wordpress node.js