我如何使用ajax将实时base64数据发送到服务器?

时间:2020-05-03 02:39:43

标签: javascript flask canvas

我是网络开发的新手。我想将网络摄像头流发送到我的烧瓶服务器,这将用于服务器中的人脸识别过程。我只是尝试用AJAX发送那些数据,但是控制台显示405方法不允许。有人知道这个问题的解决方案吗?我将不胜感激任何答案。谢谢!

JavaScript

var constraints = { audio: false, video: { width: 500, height: 500 } }; 
var video = document.querySelector('video');
var canvas = document.querySelector('canvas');

var image = new Object();

navigator.mediaDevices.getUserMedia(constraints)
.then(function(mediaStream) {
  video.srcObject = mediaStream;
  video.onloadedmetadata = function(e) {
    video.play();

  };
})
.catch(function(err) { console.log(err.name + ": " + err.message); })

function capture() {
  canvas.width = 200;
  canvas.height = 200;
  canvas.getContext('2d').drawImage(video, 0, 0, 200,200);  
  var data = canvas.toDataURL('image/jpeg');

  return data;
}

setInterval(function(){
    var imgData = capture();
    image.images = imgData;

    $.ajax({
        url:'https://0.0.0.0:5000/greet',
        type:'POST',
        contentType:'application/json',
        data:JSON.stringify(image)

    }).done(function(){
        console.log('success');
    })

}, 1000/100)

烧瓶服务器

@app.route('/greet', methods = ['GET'])
def tes():
    return render_template('greetings.html')

if __name__ == '__main__':
    app.run(host = '0.0.0.0', port = '5000', debug = True, threaded = True, ssl_context = 'adhoc')

0 个答案:

没有答案