经常有朋友问起,如何在IM即时通讯中实现发送图片、视频、语音和表情?为此,小编特意写了一个vue版本的Demo,实现了图片视频文件和表情的的发送,参考这个Demo源代码,相信你就可以轻松的用Uniapp和小程序完成类似的功能。

一、图片/视频/语音发送
对于语音、视频和图片的发送,您如果有注意的话,在使用QQ或者微信的时候,当有朋友发送图片和视频给您时,收到后,需要等一会儿才能显示出来。就是因为在发送的时候,只发送了文件的路径,您收到后,需要加载才能显示出来。因为当前主流的IM包括微信,QQ等对于图片和视频的发送,通常的做法都是:
上传文件到文件服务器推送文件路径收到文件路径加载文件
并不会通过网络直接传送源文件,因为对于大文件的传输,会影响消息的即时性。
对于文件的上传,您可以选择直接上传到您自己的服务器,也可以选择上传到各种云服务的对象存储服务,也就是OSS上。
参考源码:
DemoService.prototype.sendFileMessage = function (type,content) {
let uploadResult = restapi.uploadFile(content);
let message = new Message(type, uploadResult.url);
uploadResult.promise.then(() => {
this.publish(message);

本文提供了一个Vue版本的Demo,详细解释如何在IM即时通讯应用中实现图片、视频、语音及表情的发送。通过上传文件到服务器并发送文件路径,确保消息即时性。推荐使用云服务的OSS配合CDN,以提高稳定性及速度。表情发送通过定义表情字符串标签,点击表情时写入输入框,接收方根据标签匹配并展示相应表情图片。
最低0.47元/天 解锁文章
2540

被折叠的 条评论
为什么被折叠?



