TUIKit:chat-uikit-vue在微信中上传图片的一个bug

一、问题描述

今天使用腾讯IM的TUIKIT示例工程:https://github.com/TencentCloud/chat-uikit-vue.git ,发现在Android设备的微信里打开,选择相册的图片进行编辑后发送会失败:
在这里插入图片描述

二、问题排查

由于在微信中不好排查问题,可以选择用VConsole来查看日志:

  // index.html
  <script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js"></script>
  <script>
    new VConsole();
  </script>

日志中可以看到以下提示:

在这里插入图片描述
那么IM SDK是如何判断文件格式不对的呢?

根据代码调用,找到发送图片的调用代码:TUIChatService.sendImageMessage(options);

为了找到TUIChatService.sendImageMessage的源码位置,可以使用NotePad++来查找关键代码:

代码所在文件:@tencentcloud\call-uikit-vue\tuicall-uikit-vue.es.js

在这里插入图片描述

在这里插入图片描述

可以看到,SDK是根据name来截取出扩展名作为图片的类型,而Android 微信中对图片编辑后得到的文件name丢失了扩展名:

在这里插入图片描述

这就导致了对图片的类型验证失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓风伴月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值