如何将使用网络摄像头拍摄的图像发送到api?

时间:2019-04-24 22:54:27

标签: javascript image api sapui5 webcam

我正在尝试将图像发送到要处理的API,问题是我需要发送由PC网络摄像头捕获的图像,

imageCapture.takePhoto().then(function (blob) {                                      
  var imagen = new File([blob], "name",{type:"image/jpeg"}); 
  fileUpload[0] = imagen;
});

这就是将图片保留在变量中的方式,因此我将其发送到API:

var formData = new FormData();
formData.append('files', fileUpload[0]);
    var obj = {};
    var res = "";
    var oControl = this.getView().byId("txtArea");
    $.ajax("/service/models/personas/versions/2", {
        type: "POST",
        data: formData,
        cache: false,
        headers: {
            "Authorization": "Bearer " + token
        },

但是出现以下错误:

  

上传文件时出错::无效的文件类型

在与Postman发送具有相同“ jpeg”格式的图像之前,我已经使用过它,并且它可以工作,那么我在做什么错了?

希望您能帮助我,谢谢。

2 个答案:

答案 0 :(得分:0)

没有这样的标头,称为type。代替{type:"image/jpeg"},您需要{Content-Type:"image/jpeg"},它是适当的HTTP标头。由于邮递员不处理您的数据,因此找不到错误。

答案 1 :(得分:0)

            $("#btnUploadDoc").click(function (e) {
                e.preventDefault(); 
                var formData = new FormData(); 
                var opmlFile = $('#file1').get(0).files;
                formData.append(Name, opmlFile[0]); 
                $.ajax({
                    url: "/service/models/personas/versions/2",
                    type: 'POST',
                    data: formData,
                    cache: false,
                    contentType: false,
                    processData: false,
                    dataType: 'json',
                    success: function (data) {                       
                        alert(data.msg);
                    }
                });
            });