收藏
回答

ocr功能识别驾驶证需要的图片是https的,但是用wx.chooseImg返回的是http的图片?

直接看代码

wx.chooseImage({
          count: 1,
          sizeType: ['compressed'],
          sourceType: ['album', 'camera'],
          success(res) {
            // tempFilePath可以作为img标签的src属性显示图片
            const tempFiles = res.tempFiles
            console.log(tempFiles[0])
            wx.serviceMarket.invokeService({
                  service: 'wx79ac3de8be320b71', // '固定为服务商OCR的appid,非小程序appid',
                  api: 'OcrAllInOne',
                  data: {
                    img_url: tempFiles[0].path,
                    data_type: 3,
                    ocr_type: 4,
                  },
                }).then(res => {
                  console.log('invokeService success', res)


                }).catch(err => {
                  console.error('invokeService fail', err)


                })


或者这种方式

wx.request({
              url: store.state.url + '/wxshop/horesman/getHoresmanToken',
              method: 'POST',
              data: {
              },
              success(res) {
                console.log(res)
                wx.request({
                  url: "https://api.weixin.qq.com/cv/ocr/drivinglicense?img_url="+tempFilePaths[0]+"&access_token="+res.data.data,
                  method: 'POST',
                  data: {
                  },
                  success(res) {
                    console.log(res)
                  },
                  fail(error) {
                    console.log(error);
                  }
                  })
              },
              fail(error) {
                console.log(error);
              }
            })


我们通过选择本地或者拍摄的图片返回的地址为http地址,我查到的资料显示为ocr功能需要https路径图片,并且路径中不能有端口号,我自己配的图片服务器是带端口号的,会报错,

我在网上找到的图片可以使用,复制网上的图片地址链接可以使用。

可以试一下我服务器的图片,地址是https://www.vaiq.cn:8181/dhn/icon/drive/drive.jpg

图片是网图,就没有打码了

这是报错,如果真机调试,报的是另一个错,那个错就不贴了。

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

4 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-05-25

    一定是要https?

    试试上传到云存储,然后获取临时路径

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/storage/Cloud.getTempFileURL.html

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-05-25
    有用 2
    回复 9
    • 楸
      2020-05-25
      一直没用云开发,是把图片上传到云存储,然后获取图片路径吗,等会试试,我是自己有配自己的服务器开发
      2020-05-25
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-05-25回复
      恩,你图片地址为什么要加端口?
      弄成https://img.vaiq.cn/dhn/icon/drive/drive.jpg不香吗
      如果是单域名证书,用个免费的证书就好
      2020-05-25
      回复
    • 楸
      2020-05-25
      因为只有一个域名,证书也是免费的,默认端口的用作数据请求
      2020-05-25
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-05-25回复
      多弄个二级域名呀
      2020-05-25
      回复
    • 楸
      2020-05-25
      文档上有说可以使用 CDN 方法对文件路径进行标记(或用任意的存储服务和自建的存储服务,也可以使用云开发的云文件存储服务,但都没有 CDN 方法便捷),没仔细看这句话,本地图片需要转一下才能用
      2020-05-25
      回复
    查看更多(4)
  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2020-05-25

    https://developers.weixin.qq.com/miniprogram/dev/extended/service-market/api.html试下这个哈

    2020-05-25
    有用 1
    回复 1
    • 楸
      2020-05-25
      可以可以,改成这个就可以了,没有仔细看那个文档啊,本地图片必须得转一下
      2020-05-25
      回复
  • 许世发
    许世发
    2020-11-10
    驾驶证到期可以在上面换吗
    2020-11-10
    有用
    回复
  • 楸
    2020-05-25

    文档上有说可以使用 CDN 方法对文件路径进行标记(或用任意的存储服务和自建的存储服务,也可以使用云开发的云文件存储服务,但都没有 CDN 方法便捷),没仔细看这句话,本地图片需要转一下才能用

    碰到这个问题的记得仔细看文档

    2020-05-25
    有用
    回复
登录 后发表内容
问题标签