小程序
小游戏
企业微信
微信支付
扫描小程序码分享
目前想开发发送图片类型的客服消息,但是图片素材不知道上传到哪里?从哪里获取
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
找到解决方法了: 1、先手动把文件上传到云储存,然后获取到fileId 2、调用cloud.downloadFile把文件下载下来获取到文件内容(Buffer类型) 3、调用cloud.openapi.customerServiceMessage.uploadTempMedia把文件上传到微信服务器,获取到mediaId,接下来就可以用这个mediaId发送图片客服消息了 //关注码的fileId const qrCodeFileId = "cloud://xxxxxxxxx.jpg"; const result = await cloud.openapi.customerServiceMessage.send({ touser: openid, msgtype: 'image', image: { mediaId: await uploadTmpMedia(qrCodeFileId) } }); console.log(result); /** * 上传临时素材 * @param fileId * @returns {Promise<*>} */ const uploadTmpMedia = async function (fileId) { const res = await cloud.downloadFile({ fileID: fileId, }); const buffer = res.fileContent; const uploadResult = await cloud.openapi.customerServiceMessage.uploadTempMedia({ type: 'image', media: { contentType: 'image/png', value: buffer } }); console.log(uploadResult); return uploadResult.mediaId; };
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
找到解决方法了: 1、先手动把文件上传到云储存,然后获取到fileId 2、调用cloud.downloadFile把文件下载下来获取到文件内容(Buffer类型) 3、调用cloud.openapi.customerServiceMessage.uploadTempMedia把文件上传到微信服务器,获取到mediaId,接下来就可以用这个mediaId发送图片客服消息了 //关注码的fileId const qrCodeFileId = "cloud://xxxxxxxxx.jpg"; const result = await cloud.openapi.customerServiceMessage.send({ touser: openid, msgtype: 'image', image: { mediaId: await uploadTmpMedia(qrCodeFileId) } }); console.log(result); /** * 上传临时素材 * @param fileId * @returns {Promise<*>} */ const uploadTmpMedia = async function (fileId) { const res = await cloud.downloadFile({ fileID: fileId, }); const buffer = res.fileContent; const uploadResult = await cloud.openapi.customerServiceMessage.uploadTempMedia({ type: 'image', media: { contentType: 'image/png', value: buffer } }); console.log(uploadResult); return uploadResult.mediaId; };