我想從移動設備上傳圖像到微軟計算機視覺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