收藏
回答

营业执照https识别 问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug ocr.businessLicense 工具 7.0.8 2.9.4

https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/ocr/ocr.businessLicense.html

尝试了两种方式,

第一种img_url:

async readBizLicense(imgUrl){

let at = await this.getAccessToken()

let readUrl = 'https://api.weixin.qq.com/cv/ocr/bizlicense?access_token=' + at

let data = {img_url: imgUrl}

console.log("data", data)

let content = await http({url: readUrl,method: 'POST',data: data}).then(res => {

console.log(res.data)

return res.data

})

return content

}

img_url的格式是https://.../xx.jpg,尝试过直接给出,encodeUrl和encodeUrlComponent三种方式,均报41005错误, media data missing hint.

第二种img:buffer:

const stream = await this.ctx.getFileStream();

let result = null;

let fullpath = uploadPath + "/license/"

        if (!fs.existsSync(fullpath)) fs.mkdirSync(fullpath)


        let filename = encodeURIComponent(stream.filename)

        let extname = path.extname(filename)

        filename = this.ctx.helper.getUUID() + extname

        const target = path.join(this.config.baseDir, fullpath, filename);

        const writeStream = fs.createWriteStream(target);

        await pump(stream, writeStream);

let data = fs.readFileSync(target);

let bufferData = new Buffer(data,'base64'); 

let buffer = 'data:' + stream.mimeType + ';base64,' + bufferData; 

let img = {

contentType: stream.mimeType,

value: buffer

}

result = await this.ctx.service.content.readBizLicense(img)

上传小于2M大于1M的图片时报错:content out of size limit,上传小于1M 的图片时报错:media data missing hint

试了一天了,不知道该怎么解决?求大神帮助!谢谢!

最后一次编辑于  2019-12-15
回答关注问题邀请回答
收藏

1 个回答

  • 老张
    老张
    2019-12-15

    用云调用试试。

    2019-12-15
    赞同
    回复 3
    • 最爱深秋
      最爱深秋
      2019-12-16
      我用的是mpvue,没有用云开发
      2019-12-16
      回复
    • 最爱深秋
      最爱深秋
      2019-12-16
      我用的是mpvue,没有用云开发
      2019-12-16
      回复
    • 老张
      老张
      2019-12-16回复最爱深秋
      可以混用,不影响。
      2019-12-16
      回复
登录 后发表内容
问题标签