[英]whatsapp-web.js how save downloadMedia()
嗨,我是新手,我有一个让我头疼的问题,我正在使用 whatsapp-web.js 1.12.6,但是当我下载多媒体文件时,我找不到如何保存它...我正在尝试使用 fs.writefile,但它给我一个错误如何将 object 保存为文件?
const listenMessage = () => {
client.on("message", async (inboundMsg) => {
console.log(inboundMsg);
const { from, to, body, hasMedia, mediaKey } = inboundMsg;
if (hasMedia) {
const mediafile = await inboundMsg.downloadMedia();
console.log(
mediafile.mimetype,
mediafile.filename,
mediafile.data.length
);
//How to save that object as a file? =====================================
fs.writeFile('./upload/', JSON.stringify(mediafile.data), function (err) {
if (err) {
console.log(err);
}
});
//========================================================================
var post = {
message: body,
direction: "inbound",
number: from,
media: "mymediafile",
};
var query = pool.query(
"INSERT INTO chat SET ?",
post,
function (error, results, fields) {
if (error) throw error;
console.log(from, to, body, hasMedia);
}
);
} else {
var post = {
message: body,
direction: "inbound",
number: from,
};
var query = pool.query(
"INSERT INTO chat SET ?",
post,
function (error, results, fields) {
if (error) throw error;
console.log(from, to, body);
}
);
}
});
};
确保你在你的工作目录上创建了文件夹'./upload',然后试试这个:
fs.writeFile(
"./upload/" + mediafile.filename,
mediafile.data,
"base64",
function (err) {
if (err) {
console.log(err);
}
}
);
我遵循了同样的推理,但现在我该如何做才能阅读这些文件,测试它,但它没有用
client.on("message", async (message) => {
if (message.body === 'img') {
fs.readFile("./upload/undefined", function (err, data) {
if (err) {
console.log(err);
}
console.log(data)
const media = new MessageMedia('image/png', data);
client.sendMessage(message.from, media);
})
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.