用chooseMedia发送图片会报错

来源:9-19 发送消息测试

Weibsgz

2022-08-22

小程序现在要求用chooseMedia代替chooseImage 经过测试,把版本库调低用chooseImage是没有问题的

用chooseMedia同样的代码 会报错 请问老师如何解决
图片描述

写回答

1回答

沁尘

2022-08-22

因为两个 API 返回的数据格式有点差异。这里使用新 API 后,把返回的结果处理成 chooseImage 返回的格式就可以。示例代码如下:

// conversation-windows.js
handleSendImage: async function(){
    const chooseImage = await wx.chooseMedia({....})
    // 格式处理
    const content = {
        tempFilePaths:[],
        tempFiles: []
    }
    chooseImage.tempFiles.map(item=>{
        content.tempFilePaths.push(item.tempFilePath)
        content.tempFiles.push({
                path: item.tempFilePath,
                size: item.size
        })
    })
    this.triggerEvent('sendmessage', {
        type: TIM.TYPES.MSG_IMAGE,
        content: content
    })
}

注意:我看了下 TIM 的更新日志是没提到创建消息类型接口有直接可以读取 chooseMedia的返回结果 ,如果未来支持了,就不需要这段代码了,到时候自行调整下。

0
1
Weibsgz
非常感谢!
2022-08-23
共1条回复

《慕慕到家》家政小程序组件化进阶实战-优质项目

千锤百炼的实践分享,成就你独当一面

494 学习 · 306 问题

查看课程