Closed jackercoco closed 2 years ago
根据文档,我想发文件的话,常量值MESSAGE_CONTENT_TYPE_FILE = 5,那type就是5,那文件流怎么发出去呢,放在MessagePayload这个类的那个参数中
媒体类消息(比如图片/语音/文件/视频,或者其他自定义包含文件的消息)没有办法直接发送,都是需要先上传到对象存储服务,然后再放入到MessagePayload这个对象的remoteUrl属性中,发送payload。
在IM服务和协议栈传输的都是messagepayload对象,在客户端会把messagepayload转会为对应的消息,因此通过server api发送的payload必须跟客户端的消息encode/decode的payload一致。比如图片消息,server api发送payload必须跟客户端图片消息encode的payload抑制(唯一的区别就是客户端有个二进制熟悉,server api对应使用base64编码过的二进制数据)
按你说的,用SDK的方式文件发过去了,接收者也收到了,但是没有显示对应的文件图标和大小
让客户端查一下吧,看一下server api发送的消息的payload跟客户端生成的payload有什么区别
size和name我用SDK怎么传放哪里
通过server api
发送消息时,payload
的格式要和客户端对应消息encode
出来的结果对应上。
针对文件消息,名字和大小分别放到searchableContent
和content
字段,下面是web 端文件消息的encode
方法
encode() {
let payload = super.encode();
payload.searchableContent = this.name;
payload.content = this.size + '';
return payload;
}
有对应的API吗?