如何使用FormData和axios在facebook群组api上发布同一发布中的照片和说明



有人可以帮我,我正试图将照片和说明发送到群中,但不起作用!我想把我收到的照片作为base64发送到facebook群组api。

我在做什么?我得到了base64,然后转换成缓冲区并将其写入本地磁盘,然后将其读取为formdata。我以这种方式将数据加载到表单中=>

const form = new FormData();
const fileContent = Buffer.from(url as any, 'base64');
fs.writeFile('../tmp', fileContent, (err) => {
if (err) return console.log(err)
})

form.append('groupId', groupId)
form.append('caption', caption) 
form.append('image ', fs.createReadStream('../tmp'))

下面是axios配置和请求

await client.post(`${config.facebook.BASE_URL}/${groupId}/photos`, form, {
headers: {
...form.getHeaders(),
Authorization: `OAuth ${config.facebook.token}`,
'content-type': 'multipart/form-data',
file_type: "image/jpeg",
}
})

注意:通过这种方式我得到了错误:请求失败,状态代码为500

我已经解决了这个问题,尽管我改变了文件到达我身边的方式,我没有在base64中接收图像,而是从谷歌存储中接收一个签名的url。在表单上,有必要传递文件的名称和扩展名,如下所示=>form.append('source',image,'file.jpg'(;当然还有其他params和axios的配置

相关内容

  • 没有找到相关文章

最新更新