我正在尝试使用 Microsoft Azure OCR API 服务从图像中提取一些文本。
我用于发送到 API 服务的图像具有“data:image/png; base64,”结构,因此我无法使用内容类型“application/json”发送它。
我尝试使用内容类型“multipart/form-data”或“application/octet-stream”发送它,但它也失败了......
// this "url" gives me the "data:data:image/png;base64, " code
var sourceImageUrl = document.getElementById("myImage").src;
// Perform the REST API call.
$.ajax({
url: uriBase + "?" + $.param(params),
// Request headers.
beforeSend: function(jqXHR){
jqXHR.setRequestHeader("Content-Type","multipart/form-data");
jqXHR.setRequestHeader("Ocp-Apim-Subscription-Key", subscriptionKey);
},
type: "POST",
// Request body.
data: [sourceImageUrl]
})
.done(function(data) {
// Show formatted JSON on webpage.
$("#responseTextArea").val(JSON.stringify(data, null, 2));
})
.fail(function(jqXHR, textStatus, errorThrown) {
// Display error message.
var errorString = (errorThrown === "") ?
"Error. " : errorThrown + " (" + jqXHR.status + "): ";
errorString += (jqXHR.responseText === "") ? "" :
(jQuery.parseJSON(jqXHR.responseText).message) ?
jQuery.parseJSON(jqXHR.responseText).message :
jQuery.parseJSON(jqXHR.responseText).error.message;
alert(errorString);
});
我对应该如何发送图像或是否应该进行一些转换感到有些困惑。
我应该使用哪种内容类型来执行正确的请求?我应该更改图像源的编码吗?如何?
谢谢你们!