美文网首页
h5手机上调用摄像头人像比对 与FileReader文件上传

h5手机上调用摄像头人像比对 与FileReader文件上传

作者: vivianXIa | 来源:发表于2019-11-28 12:00 被阅读0次
    //显示拍照
    function showVideo(){
        canvas.width = video.offsetWidth * ratio;
        canvas.height = 200;
        context = canvas.getContext("2d");
        if(navigator.getUserMedia){
            navigator.mediaDevices.getUserMedia(myConstraints).then((stream) => {
                video.srcObject = stream;
            buffer = stream;
            video.play()
        }, (error) => {
                //ios11 上传图片或者拍照 在低版本苹果上调用摄像头失败 就让用户点击选择拍照或者选择自拍照
                $(".unDerIos11").show();
                $(".others").hide();
                console.log(error.name || error)
            })
        }else{
            $(".unDerIos11").show();
            $(".others").hide();
        }
    }
    
    • 拍照完毕后要进行一个是显示提示显示照片 关闭了摄像头
    //方法关闭摄像头
    function closeCamera() {
        buffer && buffer.getTracks()[0].stop();
    }
    
    • 拍照后图片上传到后端进行人像的对比
    //拍照按钮的单击事件
    $('#capture').click(function () {
        //绘制画面
        context.drawImage(video,0,0,video.offsetWidth * 1 ,video.offsetHeight * 1 );
        switch ($(this).find('a').text()){
            case '识别':
                $('#canvas').show();
                $('#video').hide();
                $(this).addClass("reRec").find('a').html('重新识别');
                //上传图片的Base64
                uploadImg((canvas.toDataURL('image/png')),2);
                break;
            case '重新识别':
                $('#video').show();
                $('#canvas').hide();
                faceImg = 0;
                $('#video').show();
                $(".reRec-load").hide();
                $(this).removeClass("reRec").find('a').html('识别');
                break;
        }
    });
    

    以下是html5身份证上传的js部分 使用FileReader

     <input id="upload"  class="weui-uploader__input" type="file" accept="image/*" multiple="">
    
    //身份证上传
    var reader = new FileReader();
    $('.card-face_wrap').on('change','#upload',function(){//图片上传
        var that =$(this).parents(".card-face_wrap");
        imgType = that.attr('val');
        //var AllowImgFileSize = 2100000; //上传图片最大值(单位字节)( 2 M = 2097152 B )超过2M上传失败
        var rd=new FileReader();  //创建文件读取对象
        var file=$(this)[0].files[0];
        //var imgSize = file.size;
        rd.readAsDataURL(file);  //读取类型为base64
        $(this).clone().replaceAll(file=this);
        rd.onload=function (ev) {
            //图片显示且上传
            var str = '<input id="upload"  class="weui-uploader__input" type="file" accept="image/*" multiple=""><img id="imgDetail" src='+this.result+' />';
            that.html(str);
            if(imgType==1){
                curImg = this.result;
            }else if(imgType==2){
                curImg = this.result;
            }
            uploadImg(curImg,imgType);
        }
    
    });
    

    相关文章

      网友评论

          本文标题:h5手机上调用摄像头人像比对 与FileReader文件上传

          本文链接:https://www.haomeiwen.com/subject/ogavwctx.html