gpt4 book ai didi

javascript - 如何将 Uint8ClampedArray 转换为类似 Node 的 Buffer;

转载 作者:搜寻专家 更新时间:2023-11-01 00:45:01 26 4
gpt4 key购买 nike

我正在处理 Node module它使用 xmlrpc 将图像发布到 wordpress。这postIMGRPC 方法接受原始图像数据并通过 wp.uploadFile uri 提交。我已经成功地使用图像文件在 Node 中测试了该方法:

  var imgData;
fs.readFile("anyImage.jpg", function(e,d){ imgData = d } );
wp.postIMGRPC("anyImage.jpg", imgData, 1)
.then(function(r){console.log(r)})

现在,我希望能够在客户端 javascript 中获取 Canvas 的 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)传递到我的 Node 模块时,上传的文件是一张空白图像。我试过:

  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)})

如何将 Uint8ClampedArrayimgData 转换为类似于 fs.readFile( )?

最佳答案

使用 Buffer.from,如:

...
var imgData = ctx.getImageData(0,0,250,300);
var data = imgData.data;
var buf = Buffer.from(data);

关于javascript - 如何将 Uint8ClampedArray 转换为类似 Node 的 Buffer;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21462041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com