将文件上传到 Microsoft Form Recognizer 时出现问题

问题描述

我在尝试将 PDF 文件发送到 Microsoft 的表单识别器服务时遇到了一些问题。

我需要发送 PDF 文件,而不是发送 PDF Url 位置。根据我的经验,可以使用 base64 发送文件,但似乎 Microsoft 服务与 base64 格式不兼容。每当我尝试发送文件时,服务器都会响应:

{ “错误”: { “代码”:“1000”, "message": "无效的输入文件。" } }

我需要知道如何将我的 PDF 转换为所需的应用程序/pdf“二进制 PDF 数据”。我找不到任何与此转换相关的文档。

表单识别器 API 网页是:https://brazilsouth.dev.cognitive.microsoft.com/docs/services/form-recognizer-api-v2-1-preview-3/operations/AnalyzeWithCustomForm

您可以在此处找到完整的文档网页:https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/quickstarts/client-library?tabs=preview%2Cv2-1&pivots=programming-language-rest-api

谢谢!

解决方法

不支持 base64 编码的请求是正确的。

如果您使用 curl 并且想要发送本地文件,请运行以下命令:

curl -i https://{endpoint}/formrecognizer/v2.1-preview.3/custom/models/{modelId}/analyze -H 'Content-Type: application/pdf' \
  -H 'Ocp-Apim-Subscription-Key: {subscription key}' --data-binary @/path/to/your/file.pdf

关键部分是 Content-Type 标头,它必须与支持的值匹配,以及 --data-binary 标志,它是本地 PDF 文件的路径。请务必包含 -i 标志,以便您可以在响应中看到 Operation-Location 标头,您可以在该标头中检索分析结果。

您可能还想查看 C#JavaJavaScriptPython 的表单识别器 SDK。