Недопустимое изображение base64 - PullRequest
0 голосов
/ 17 сентября 2018

enter image description here

Я пытаюсь передать закодированное в base64 изображение в ocr.space api, следуя https://ocr.space/blog/2016/10/ocr-api-supports-base64.html и https://ocr.space/ocrapi. Вы можете увидеть мои настройки почтальона на скриншоте.

Однако, когда я отправляю это, я вижу:

"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.",

Используя Почтальон, я создал следующий запрос curl https://pastebin.com/ajfC3a5r

Что я делаю не так

1 Ответ

0 голосов
/ 17 сентября 2018

Как насчет этой модификации?

Очки модификации:

  • В ваших данных base64 на здесь , \n включено.
  • Когда я попытался декодировать данные base64 после того, как \n был удален из данных 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 #####"

Результат:

При запуске приведенного выше примера возвращается следующее значение.

{
  "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."
}

Примечание:

  • В моей среде я мог подтвердить, что API работал с использованием вышеуказанных модифицированных данных base64 и образца curl.

    • Пример скручивания, включающий измененные данные base64, равен this .
    • Если вы используете это, пожалуйста, установите свой ключ API.
  • Или вы также можете напрямую использовать файл изображения, который не является данными base64. Пример скручивания

    curl -X POST https://api.ocr.space/parse/image -H "apikey:#####" -F "file=@sample.png"
    

Если это не было полезной информации для вашей ситуации, извините.

...