微信小程序--人脸识别入库以及匹配人脸

来自:选择信息来源
时间:2019-07-09
阅读:
免费资源网 - https://freexyz.cn/

首先,创建Camera目录和page

camera.xml的代码如下

<camera device-position="{{show}}" flash="off" binderror="error" style="width: 100%; height: 400px;"></camera>
 <view class='weui-cell__ft'>
            <Switch checked bindchange='switch1Change'></switch>
  </view>
 <view class="weui-btn-area">
          <button class="weui-btn" type="primary" bindtap="takePhoto">拍照                   </button>
</view>

camera.js代码

拍照和录像的方法如下

// 拍照
  takePhoto() {
    this.ctx.takePhoto({
      quality: 'high',
      success: (res) => {
        this.setData({
          src: res.tempImagePath
        })
 
        wx.uploadFile({
          url: '', //仅为示例,非真实的接口地址
          filePath: this.data.src,
 
          name: 'file',
          formData: {
 
          },
          success: function (res) {
            // var data = res.data
            // console.log(res.data);
            //do something
            wx.showModal({
              title: '提示',
              content: res.data,
            })
          }
        })
 
      }
    })
 
  },
 
  //开始录像
  startRecord() {
    this.ctx.startRecord({
      success: (res) => {
        console.log('startRecord')
      }
    })
  },
  //结束录像
  stopRecord() {
    this.ctx.stopRecord({
      success: (res) => {
        this.setData({
          src: res.tempThumbPath,
          videoSrc: res.tempVideoPath
        })
      }
    })
  },

后台的代码如下:

 public function upload($id=''){
        if(empty($id)){
            return false;
        }
 
        $no=M('student')->where("id=$id")->getField('no');
 
        // echo $no;
        // exit;
        $dir="./Uploads/studentface/";//上传文件路径
        if(!file_exists($dir)){
            mkdir($dir,0777,true);
        }
 
         $upload = new ThinkUpload();// 实例化上传类
        $upload->maxSize = 2048000;// 设置附件上传大小2m
        $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath = $dir; // 设置附件上传根目录
        $upload->savePath = ''; // 设置附件上传(子)目录
        $upload->saveName=$no;//保存的文件名
        $upload->replace=true;//自动覆盖同名的文件名
        $upload->autoSub=false;//禁止自动创建子目录
    // 上传文件
    $info = $upload->uploadOne($_FILES['file']);
    if(!$info) {// 上传错误提示错误信息
    // $this->error($upload->getError());
      // echo json_encode(array('error'=>true,'msg'=>$upload->getError()),JSON_UNESCAPED_UNICODE); 
      $this->ajaxReturn(array('error'=>true,'msg'=>$upload->getError()));
    }else{// 上传成功
            // $this->success('上传成功!');
 
            $file = $dir.$info['savepath'].$info['savename'];
            // echo $file;
 
            $image = base64_encode(file_get_contents($file));
            // echo  $no;
            // echo $image;
            $this->facevalid($no,$image);
           
          
            $m=M('head');
    
            $data=$m->where("no='{$no}'")->find();
            // print_r($data);
 
            if($data){
                //有数据就更新
                $m->where("no='{$no}'")->save(array('base64'=>$image));
            }else{
                //无数据就添加
                $m->add(array('no'=>$no,'base64'=>$image,'path'=>$file));
 
            }
 
            return '采集照片成功';
      // return $this->ajaxReturn(array('error'=>false,'msg'=>'上传成功'));
    }

这就是主要的代码了,你要没有get到呢?如果对你有帮助给个赞吧!

免费资源网 - https://freexyz.cn/
返回顶部
顶部