[英]NodeJs communication with xmlrpc server and base64 encode for node-xmlrpc library, encode downloaded url images into base64
如何將圖像轉換為二進制數據並將其發送到 xml-rpc 服務器? 我怎樣才能進行多次調用?
如果您使用的是 node-xmlrpc 庫:對於二進制數據,您必須僅使用 Buffer.from(body),而不是 .toString('base64)!
這是一個下載 url 圖像並將它們發送到 xml-rpc 服務器的示例。
let base64data = [];
let data = [];
const binaryImage = require("request").defaults({ encoding: null });
images.map(async (url_image) => {
await binaryImage.get(
`${url_image}`,
async function (error, response, body) {
if (!error && response.statusCode == 200) {
url_image = Buffer.from(body);
base64data.push(url_image);
data.push({ photo: base64data, id: 0 });
};
},
);
});
如果你想要一個乘法調用,你可以很容易地做到:
setTimeout(() => {
base64data.map((image, idx) => {
setTimeout(() => {
computeSessionId(sid, pw, key), // if you need to compute session
client.methodCall(
"method", // method call
[sid, params, { data: image, id: 0 }], // params, struct, where are images as buffer will automatically converted to base64 (binary)
function (error, value) {
if (error) {
console.log("res body:", error.body);
} else {
console.log(value);
}
}
);
}, idx * 100); // + 100 each image need some times
});
}, 1000)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.