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