小程序 wx.arrayBufferToBase64() 显示不了二进制图片

小程序 wx.arrayBufferToBase64() 显示不了二进制图片,第1张

 使用微信小程序  wx.request接受服务端的图片转成base64 ,放在页面上不显示

 wx.request  默认返回数据类型是json,会把二进制转化成string,再转base64,当然没有结果。

wx.request  设置 responseType: 'arraybuffer',

小程序使用腾讯优图实现人脸检测

wx.request(OBJECT)

使用接口

https://youtu.api.qcloud.com/youtu/api/detectface

这里说明了这个接口需要一个签名和appid,图片数据需要转成base64

本来是使用canvas实现图片截图,在通过upng.js 转成base64位截图,但是后来发现这样生成的图片文件量太大了;

导致检测接口经常超过限制5M;

wx.request(OBJECT)有个参数responseType设置响应参数数据,再通过wx.arrayBufferToBase64()转成base64

wx.request({              

    url:path,//图片路径              

    method:'GET',             

    responseType: 'arraybuffer',              

    success:function(res){                

        let base64 = wx.arrayBufferToBase64(res.data)                

        that.getSignature(base64, path)//获取签名              

    }        

})

签 名Signature和appid通过后台服务器设置传给你

之后就可以发送请求到 http://open.youtu.qq.com/youtu/api/detectface 接口了

wx.request({            

    url: 'http://open.youtu.qq.com/youtu/api/detectface',             

    data: {                

        'app_id': 'id',//优图appid                

        'image': base64,                

        'mode': 1,           

     },            

    method: 'POST',           

     header: {                

        'Content-type': 'text/json', // text               

         'Authorization': signature, //签名           

     },            

    success: function(res) {                

        console.log(res.data)                

        var data = res.data                

        var code = data.errorcode                

        if(code == 0){                              

            console.log(face_info)                    

            console.log('存在头像')                

        }else{                   

             console.log('不存在头像')               

         }            

    }       

 })

这里有几点要注意的,文档上面传字段

请求头

signature 修改为 Authorization

请求包体

id 修改为 app_id

接口返回数据

errorcode为0的时候表示识别出人脸了 

其他状态都是无法识别出人脸

如:

总的来说 接口功能很强大 响应速度也非常快

这个平台还有好多接口,暂时未探索

文档

优图人脸识别文档

腾讯优图开放平台

微信小程序开发文档


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11445476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存