问题描述
我正在尝试通过 smooch-core API
创建图像我有一个 Buffer - base64
的图像,我尝试了这样的操作:
smoochClient.attachments
.create({
appId: appId,props: {
for: 'message',access: 'public',appUserId: appUserId
},source: myBuffer
})
.then(() => {
console.log('OK');
}).catch(err => {
console.log(JSON.stringify(err));
});
我收到此错误:"status":413,"statusText":"Payload Too Large"
[当我通过 Postman 正常创建这个图像时,它运行良好,所以它不会太大 - 我猜是因为 Buffer 的发送]
有人知道我如何向这个 API 发送缓冲区吗?
解决方法
您可以在邮递员电话中直接提交 base64
数据吗?
仔细阅读规范 here,看起来 source
应该是文件路径/名称,而不是原始二进制数据。
最简单的方法可能是将 base64 数据保存到 [正确编码] 文件中,然后将该文件的路径提供为 source
否则我不确定我是否会拆开 api_instance.upload_attachment()
来输入 base64 数据,而不是打开/读取指定的文件名。