Smooch - 从缓冲区创建附件

问题描述

我正在尝试通过 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 数据,而不是打开/读取指定的文件名。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...