不是有效的 base64 图像

use*_*629 5 api curl ocrspace-ocr-api

在此处输入图片说明

我正在尝试按照https://ocr.space/blog/2016/10/ocr-api-supports-base64.htmlhttps://ocr.space/ocrapi将 base64 编码的 fimage 发送到 ocr.space api . 您可以在屏幕截图中看到我的 Postman 设置。

但是,当我提交时,我看到:

"ErrorDetails": "Not a valid base64 image. The accepted base64 image format is 'data:<content_type>;base64,<base64_image_content>'. Where 'content_type' like 'image/png' or 'image/jpg' or 'application/pdf' or any other supported type.",
Run Code Online (Sandbox Code Playgroud)

使用 Postman 我创建了以下 curl 请求https://pastebin.com/ajfC3a5r

我究竟做错了什么

Tan*_*ike 4

这个修改怎么样?

修改要点:

  • 在您的 Base64 数据中包含\n, 。
  • 当我尝试\n从base64数据中删除后解码base64数据时,发现该数据是PDF文件。内容类型不是image/png.

通过这些,我认为发生了您的问题中显示的错误。所以请修改如下。

修改后的curl命令:

  1. \n请从base64数据中删除。
  2. 关于base64数据的头部,请修改data:image/png;base64,##### base64 data #####data:application/pdf;base64,##### base64 data #####

完成上述修改后,使用以下curl命令怎么样?

curl -X POST \
  https://api.ocr.space/parse/image \
  -H "apikey:#####" \
  -F "language=eng" \
  -F "isOverlayRequired=false" \
  -F "iscreatesearchablepdf=false" \
  -F "issearchablepdfhidetextlayer=false" \
  -F "base64Image=data:application/pdf;base64,##### base64 data #####"
Run Code Online (Sandbox Code Playgroud)

结果:

运行上述示例时,将返回以下值。

{
  "ParsedResults": [
    {
      "TextOverlay": {
        "Lines": [],
        "HasOverlay": false,
        "Message": "Text overlay is not provided as it is not requested"
      },
      "TextOrientation": "0",
      "FileParseExitCode": 1,
      "ParsedText": "##### text data #####",
      "ErrorMessage": "",
      "ErrorDetails": ""
    }
  ],
  "OCRExitCode": 1,
  "IsErroredOnProcessing": false,
  "ProcessingTimeInMilliseconds": "123",
  "SearchablePDFURL": "Searchable PDF not generated as it was not requested."
}
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 在我的环境中,我可以使用上述修改后的 base64 数据和示例curl 来确认该 API 是否有效。

    • 包含修改后的base64数据的curl样本是这样的
    • 如果您使用此功能,请设置您的 API 密钥。
  • 或者您也可以直接使用非base64数据的图像文件。样本旋度为

      curl -X POST https://api.ocr.space/parse/image -H "apikey:#####" -F "file=@sample.png"
    
    Run Code Online (Sandbox Code Playgroud)