0

我正在尝试对 Microsoft 的表单识别器进行 API 调用,以根据自定义模型分析表单,但我不知道该怎么做。

这是API的文档

https://westus2.dev.cognitive.microsoft.com/docs/services/form-recognizer-api/operations/AnalyzeWithCustomModel

请求正文是空白的,我真的不知道应该如何格式化才能发送出去。

如果您查看 POST Train 模型方法,我可以使用该请求正文发送使该 api 调用工作。这表明问题出在我身上,而不是 API。

我已经通过命令行成功地用 curl 完成了这个......

curl -X POST " https://formrecognizerbp.cognitiveservices.azure.com/formrecognizer/v1.0-preview/custom/models/[MODEL ID]/analyze" -H "Content-Type: multipart/form-data" - F "form=@\"C:\Temp\Capture1.jpg\";type=image/jpeg" -H "Ocp-Apim-Subscription-Key: [SUBSCRIPTION ID]"

我真的不知道/无法弄清楚如何将其转换为格式类似于 POST 训练模型方法所具有的请求正文。

我不断收到此错误,因为我不知道如何正确格式化请求。

内部:Web API HTTP 请求期间出现意外错误 HTTP 状态代码:400 HTTP 响应内容:{“value”:{“error”:{“code”:“BadRequest”,“message”:“无法处理传入请求:'缺少内容类型边界。'。请确保其格式正确。"}},"formatters":[],"contentTypes":[],"statusCode":400}

所以我猜格式化程序和 contentTypes 是缺少的部分,但那只是 curl 的文件路径和图像/jpeg 部分吗?

4

2 回答 2

0

/ trainCustomModel API要求数据存在于 Azure Blob 存储中。此请求的请求正文需要包含训练数据的有效 SAS URL。成功创建自定义训练模型 ID 后,您可以使用它来分析表单。/AnalyzeWithCustomModel API期望数据位于本地文件存储中。请确保您已正确替换了 ModelId、API 订阅密钥(注意这与订阅 ID 不同)和图像的本地路径。

于 2019-09-10T18:15:42.990 回答
0

问题是我没有意识到 curl 脚本正在用 image/jpeg 覆盖 multipart/form-data Content-Type,当我尝试以不同方式构建此调用时,我强制使用 multipart/form-data Content-Type关于什么是JPEG。

于 2019-09-11T20:36:32.277 回答