代码之家  ›  专栏  ›  技术社区  ›  Alex Luya

如何将html5视频捕获上传到服务器?

  •  0
  • Alex Luya  · 技术社区  · 8 年前

    我得到了如下html5视频捕获:

            var canvas = document.createElement('canvas');
            canvas.height = video.height;
            canvas.width = video.width;
            var ctx = canvas.getContext('2d');
            ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
            capturedImage=ctx.getImageData(0,0,canvas.width,canvas.height))
    

    并尝试像这样上传此捕获:

    $.ajax({
             type: method,
             contentType: false,
             cache: false,
             processData: false,
             async: false,
             url: '....',
             data: capturedImage,<----------how to convert above captured image here?
       }).done(function(o) {
            .....
       });
    

    如果只是:

    data:capturedImage
    

    后端将获得如下数据值:

    str:imageObject
    

    ajax请求只是将一个str发送到后端,那么如何转换此捕获的图像以让ajax上传工作?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Rudolfs Bundulis    8 年前

    您是否尝试过使用 capturedImage.data JSON.stringify(caputedImage.data) ?这个 data 成员应该包含实际的像素数组。我不知道怎么做 $.ajax 处理字节数组,因此您可能需要 JSON。字符串化(caputeimage.data)