吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1636|回复: 9
收起左侧

[求助] 百度api调用的一些问题

[复制链接]
whizzcyf 发表于 2020-5-6 13:58
使用 百度去调用人脸库  前台返回的编码是base64  但是 后台交给 百度去检索  报了 222203 image check fail  求 大神指教 我是前台编码 base64 出问题 还是? 后台 调用出问题  
前台:
<!doctype html>
<html lang="en">
<head>
    <title>js调用摄像头拍照上传图片</title>
    <meta charset="utf-8">
</head>
<body>
<button>开启摄像头</button>
<video id="video" width="500px" height="500px" autoplay="autoplay"></video>
<canvas id="canvas" width="500px" height="500px"></canvas>
<button>拍照</button>
<!--<img id="imgTag" src="" alt="imgTag">-->
<button>关闭摄像头</button>
<script src="base64.js"></script>
<script src="js/jquery-3.3.1.js"></script>
<script>
    let mediaStreamTrack=null; // 视频对象(全局)
    function openMedia() {
        let constraints = {
            video: { width: 500, height: 500 },
            audio: false
        };
        //获得video摄像头
        let video = document.getElementById('video');     
        let promise = navigator.mediaDevices.getUserMedia(constraints);
        promise.then((mediaStream) => {
            mediaStreamTrack = typeof mediaStream.stop === 'function' ? mediaStream : mediaStream.getTracks()[1];
            video.srcObject = mediaStream;
            video.play();
        });
    }

    // 拍照
    function takePhoto() {
        //获得Canvas对象
        var video = document.getElementById('video');
        var canvas = document.getElementById('canvas');
        var ctx = canvas.getContext('2d');
        ctx.drawImage(video, 0, 0, 500, 500);


        // toDataURL  ---  可传入'image/png'---默认, 'image/jpeg'
        var img = document.getElementById('canvas').toDataURL();
        // var base = img.split("base64,")[1];


        // alert(base);
        console.log(base);
        // 这里的img就是得到的图片
        // console.log('img-----', img);
        /*
        * 发送这个数据
        * */
        $.ajax({
            type:"post",
            url:"testServlet",
            data:{
                "base":img,
                "flag":"queryfacekey"
            },
            dataType: "json",
            success:function(json){
                location.href = "index.html";
                // if("登录成功"==json.mess){
                //     window.parent.location.replace("<%=path%>/main.jsp");
                // }else{
                //     $.MsgBox.Alert("消息",json.mess);
                //
                location.href = "login.html";
            },
            async:true,
            error:function(){
                alert("error");
            }
        });

        // document.getElementById('imgTag').src=img;
    }

    // 关闭摄像头
    function closeMedia() {
        mediaStreamTrack.stop();
    }
</script>
</body>

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| whizzcyf 发表于 2020-5-6 13:59
后台 我觉得 写的也没问题  大神能否指导一下 cb奉上
 楼主| whizzcyf 发表于 2020-5-6 14:00
这个地方 base64 这样编码 转 canvas to dataURL 是否会出现一些问题呢
 楼主| whizzcyf 发表于 2020-5-6 14:01
Takitooru 发表于 2020-5-6 14:54
传入的base64格式图片需要去掉图片头信息,即去掉data:image/jpg;base64文件头
//var base = img.split("base64,")[1];
你上面这句好像就是提取base64,后面的内容,但是被你注释了。
实际就是传这个var base定义的参数

alex999 发表于 2020-5-6 15:00
base64头没去呀兄弟
 楼主| whizzcyf 发表于 2020-5-14 14:26
Takitooru 发表于 2020-5-6 14:54
传入的base64格式图片需要去掉图片头信息,即去掉data:image/jpg;base64文件头
//var base = img.split("b ...

就是  说 我不用改这个页面了吗
 楼主| whizzcyf 发表于 2020-5-14 14:27
Takitooru 发表于 2020-5-6 14:54
传入的base64格式图片需要去掉图片头信息,即去掉data:image/jpg;base64文件头
//var base = img.split("b ...

老哥能否指导一下
Takitooru 发表于 2020-5-14 16:07
whizzcyf 发表于 2020-5-14 14:27
老哥能否指导一下

var img = document.getElementById('canvas').toDataURL();
var base = img.split("base64,")[1];
....
.....
....
.....
$.ajax({
            type:"post",
            url:"testServlet",
            data:{
                "base":base,
                "flag":"queryfacekey"
            },
 楼主| whizzcyf 发表于 2020-6-30 10:54
Takitooru 发表于 2020-5-14 16:07
var img = document.getElementById('canvas').toDataURL();
var base = img.split("base64,")[1];
... ...

好的   这个页面有点丑 老哥 能否给个思路 怎么去优化  我不想把 拍摄完的照片展示在页面上  但是不展示 又 传不了 数据报错
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 15:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表