收藏
回答

OCR身份证的云调用,使用scan模式怎么传入图片的Buffer?

官方示例代码如下:

// cloud = require('wx-server-sdk')

// ...

// 方法返回 Promisecloud.openapi.ocr.idcard({

 type: 'photo',  img: {    contentType: 'image/png',    value: Buffer  }})

请问,value值Buffer是怎样得到的呢?

最后一次编辑于  09-16  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

5 个回答

  • 张勇
    张勇
    35分钟前

    我尝试用腾讯云中老版的SDK来解决了此问题,新的SDK还在摸索尝试中


    35分钟前
    赞同
    回复 2
    • 冯志辉
      冯志辉
      10分钟前
      Buffer函数Node.js中才有,小程序没有获取Buffer的,你是怎样做的?
      10分钟前
      回复
    • 张勇
      张勇
      刚刚回复冯志辉
      没有用这个API,另外用的SDK,腾讯云的“image-node-sdk”,这是老版的SDK,新的SDK也还在尝试中 
      const cloud = require('wx-server-sdk')  
      cloud.init({  
        env: 'reaa-nkubd',  
        traceUser: true  
      });  
        
      const {  
        ImageClient  
      } = require('image-node-sdk')  
      。。。。。。
      刚刚
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    38分钟前

    谢邀

    获取文件二进制内容

    https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFileSync.html


    云函数里也可以使用fs

    http://nodejs.cn/api/fs.html#fs_fs_readfilesync_path_options

    var fs = require('fs')

    var buffer = fs.readFileSync(filepath)


    38分钟前
    赞同
    回复 3
    • 冯志辉
      冯志辉
      19分钟前
      FileSystemManager.readFile(Object object)返回的是ArrayBuffer,怎么得到buffer?
      19分钟前
      回复
    • 张勇
      张勇
      刚刚
      没有用这个API,另外用的SDK,腾讯云的“image-node-sdk”,这是老版的SDK,新的SDK也还在尝试中
      const cloud = require('wx-server-sdk') 
      cloud.init({ 
        env: 'reaa-nkubd', 
        traceUser: true 
      }); 
       
      const { 
        ImageClient 
      } = require('image-node-sdk') 
      。。。。。。
      刚刚
      回复
    • 张勇
      张勇
      刚刚
      在GIT上去找这个SDK,上面有例子,我已经OCR成功了名片、身份证、营业执照,当然要开一个腾迅云的账户,但使用量不大的话是免费的。
      刚刚
      回复
  • Hanks
    Hanks
    1天前

    谢邀,因为我主要语言是java,所以没有研究过云函数,没法帮到你

    1天前
    赞同
    回复 4
    • 冯志辉
      冯志辉
      1天前
      谢谢。本人也是后端JAVA,目前是小程序JS没有函数获取buffer,但是node.js我又不懂。
      1天前
      回复
    • Hanks
      Hanks
      1天前回复冯志辉
      引入外部js也行呀?
      1天前
      回复
    • 冯志辉
      冯志辉
      1天前回复Hanks
      你做过的话,能给个示例看看吗?
      1天前
      回复
    • Hanks
      Hanks
      23小时前回复冯志辉
      我没做过你那个
      在js顶部,引入你的js,然后在你下面的方法里边,直接就调用了,自己改路径和名字
      23小时前
      回复
  • Welkin
    Welkin
    09-16

    你好,value传入图片的二进制数据即可

    此外,建议使用photo模式,之后会对参数进行简化统一 :)

    09-16
    赞同
    回复 7
    • 冯志辉
      冯志辉
      09-16
      photo是可以的,但是要求的是网络图片,想传二进制数据,但是不支持Buffer函数,只能说坑,呵呵!
      09-16
      回复
    • Welkin
      Welkin
      09-16回复冯志辉
      scan和photo都可以的,value跟的就是二进制,这是js中FormData的标准
      09-16
      回复
    • 冯志辉
      冯志辉
      09-16回复Welkin
      你是用的Node.js函数?npm安装?我不懂这个。本地图片怎么转换成buffer?
      09-16
      回复
    • 张勇
      张勇
      09-25
      同问
      09-25
      回复
    • 無遠侯
      無遠侯
      09-29
      层主好,https://developers.weixin.qq.com/community/develop/doc/000c6273418f183439398815a5f400,可见 OCR 通用文本识别一节的文档有错误。在尝试了若干次传递 img 参数后,始终报 fail media data missing 错误。因为有前车之鉴,我怀疑 img 参数部分是不是也错了。层主可不可以确认一下文档正确与否,再给出小程序端取得二进制码的示例?
      09-29
      回复
    查看更多(2)
  • 老张
    老张
    09-16

    想知道+1

    09-16
    赞同
    回复
问题标签