不是有效的 base64 图片
Not a valid base64 image
我正在尝试将 base64 编码的 fimage 发送到 https://ocr.space/blog/2016/10/ocr-api-supports-base64.html and https://ocr.space/ocrapi 之后的 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.",
我使用 Postman 创建了以下 curl 请求 https://pastebin.com/ajfC3a5r
我做错了什么
这个修改怎么样?
修改点:
- 在您位于 here 的 base64 数据中,包含
\n
。
- 将base64数据去掉
\n
后,我尝试解码base64数据时,发现数据是PDF文件。内容类型不是 image/png
.
根据这些,我认为发生了您问题中显示的错误。所以请修改如下。
修改后的 curl 命令:
- 请从 base64 数据中删除
\n
。
- 关于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数据的curl样本为this.
- 如果您使用它,请设置您的 API 密钥。
或者你也可以直接使用不是base64数据的图片文件。示例卷曲为
curl -X POST https://api.ocr.space/parse/image -H "apikey:#####" -F "file=@sample.png"
我正在尝试将 base64 编码的 fimage 发送到 https://ocr.space/blog/2016/10/ocr-api-supports-base64.html and https://ocr.space/ocrapi 之后的 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.",
我使用 Postman 创建了以下 curl 请求 https://pastebin.com/ajfC3a5r
我做错了什么
这个修改怎么样?
修改点:
- 在您位于 here 的 base64 数据中,包含
\n
。 - 将base64数据去掉
\n
后,我尝试解码base64数据时,发现数据是PDF文件。内容类型不是image/png
.
根据这些,我认为发生了您问题中显示的错误。所以请修改如下。
修改后的 curl 命令:
- 请从 base64 数据中删除
\n
。 - 关于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数据的curl样本为this.
- 如果您使用它,请设置您的 API 密钥。
或者你也可以直接使用不是base64数据的图片文件。示例卷曲为
curl -X POST https://api.ocr.space/parse/image -H "apikey:#####" -F "file=@sample.png"