我想从移动设备上传图像到微软计算机视觉API,但我不断收到一个400错误的请求无效文件格式“输入数据不是一个有效的图像”。文档指出我可以发送该数据作为应用程序/八位字节流以下列形式:微软认知服务:上传图片
[二进制图像数据]
我的图像的数据在base64编码的术语( “/ 9j/4AAQSkZJ ..........”),我也有一个FILE_URI的图像,但我似乎无法弄清楚发送数据的格式。下面是一个示例代码:
$(function() {
$.ajax({
url: "https://api.projectoxford.ai/vision/v1.0/describe",
beforeSend: function (xhrObj) {
// Request headers
xhrObj.setRequestHeader("Content-Type", "application/octet-stream");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key", computerVisionKey);
},
type: "POST",
// Request body
data: base64image,
processData: false
})
.done(function(data) {
alert("success");
})
.fail(function(error) {
alert("fail");
});
});
我已尝试以下步骤:
- [base64image]
- {base64image}
- “数据:图像/ JPEG; BASE64,” + base64image
- “图像/ JPEG; BASE64,” + base64image
等等。
我在计算机视觉API控制台上测试了这些。是否因为base64编码的二进制文件不是可接受的格式?或者,我是否以完全不正确的格式发送它?
注意:该操作在以application/json方式发送URL时起作用。
感谢您的帮助! – Mirodinho