收藏
回答

微信wx.serviceMarket.invokeService一直报错,在开发工具和手机上都不行?

selectImg(){
    wx.chooseMedia({
      count: 9,
      mediaType: ['image'],
      sourceType: ['album', 'camera'],
      maxDuration: 30,
      camera: 'back',
      success(res) {
        console.log(res.tempFiles[0].tempFilePath)
        console.log(res.tempFiles[0].size)
        wx.serviceMarket.invokeService({
          service: 'wx79ac3de8be320b71', // '固定为服务商OCR的appid,非小程序appid',
          api: 'OcrAllInOne',
          data: {
            img_url: res.tempFiles[0].tempFilePath,
            data_type: 3,
            ocr_type: 8,
          },
        }).then(res => {
          console.log('invokeService success', res)
          // wx.speak({
          //   text: that.data.resultText,
          //   lang: 'zh_CN',
          //   success: function(res) {
          //     console.log('语音播放成功')
          //   },
          //   fail: function(res) {
          //     console.log('语音播放失败', res)
          //   }
          // })
        }).catch(err => {
          // console.error('invokeService fail')
          console.log(err)
          // wx.showModal({
          //   title: 'fail',
          //   content: err + '',
          // })
        })
      }
    })
  },


报错:

Error: invokeService:fail 9301002 call api service failed (requestId: MLxGvXqdUSfHOnkjyz3Bx4bP_mgGYMKWsCLTYweHEZ0RwFJWFj5cXuZ_dXlbGkSrllA)

    at <anonymous>:1:288549

    at Generator.next (<anonymous>)

    at t (<anonymous>:1:375)

    at s (<anonymous>:1:586)



手机上报错103

回答关注问题邀请回答
收藏

1 个回答

  • CRMEB
    CRMEB
    02-08

    wx.chooseMedia 返回的 tempFilePath 是本地临时文件路径,而服务市场的 OCR 服务可能需要的是合法的网络图片 URL 或者经过特定处理后的图片数据,直接使用本地临时路径会导致服务调用失败。

    02-08
    有用
    回复 1
    • momo
      momo
      02-08
      嗯,暂时换了种其他的方式。
      02-08
      回复
登录 后发表内容