Node.js - 使用 axios 调用 OCR space api
Node.js - Calling OCR space api using axios
我正在创建一个应用程序,它使用 ocr space api 从上传的图像中检索文本。
我使用 postman 测试了 api,还使用 api 调用的请求库测试了 Node.js 的生成代码片段。由于不推荐使用请求模块,我想使用 axios 来执行我的 api 调用,但我仍然失败。到目前为止,这是我的编码。
为了处理 post 请求中的文件上传,我使用了表单数据模块。
const axios = require('axios');
const formData = require('form-data');
const form = new formData();
const stream = fs.createReadStream('path-to-my-file');
form.append('file', stream);
form.append('language', 'eng');
form.append('filetype', 'png');
let url = 'https://api.ocr.space/parse/image'
let options = {
headers: {
'apikey': 'my-api-key'
}
};
axios.post(url, form, options)
.then(function (response.data) {
console.log(response);
}).catch(function (error) {
console.error(error);
});
运行这段代码会导致以下错误:
OCRExitCode: 99,
IsErroredOnProcessing: true,
ErrorMessage: [
"Parameter name '----------------------------218784067201800707615554\r\n" +
"Content-Disposition: form-data; name' is invalid. Valid parameters: apikey,url,language,isoverlayrequired...
我哪里出错了?
我刚遇到同样的问题。我通过添加表单附带的 headers 来解决:
let options = {
headers: {
'apikey': 'my-api-key',
...form.getHeaders()
}
};
希望您解决了,如果解决了,请分享答案。我正在找它!
我正在创建一个应用程序,它使用 ocr space api 从上传的图像中检索文本。 我使用 postman 测试了 api,还使用 api 调用的请求库测试了 Node.js 的生成代码片段。由于不推荐使用请求模块,我想使用 axios 来执行我的 api 调用,但我仍然失败。到目前为止,这是我的编码。 为了处理 post 请求中的文件上传,我使用了表单数据模块。
const axios = require('axios');
const formData = require('form-data');
const form = new formData();
const stream = fs.createReadStream('path-to-my-file');
form.append('file', stream);
form.append('language', 'eng');
form.append('filetype', 'png');
let url = 'https://api.ocr.space/parse/image'
let options = {
headers: {
'apikey': 'my-api-key'
}
};
axios.post(url, form, options)
.then(function (response.data) {
console.log(response);
}).catch(function (error) {
console.error(error);
});
运行这段代码会导致以下错误:
OCRExitCode: 99,
IsErroredOnProcessing: true,
ErrorMessage: [
"Parameter name '----------------------------218784067201800707615554\r\n" +
"Content-Disposition: form-data; name' is invalid. Valid parameters: apikey,url,language,isoverlayrequired...
我哪里出错了?
我刚遇到同样的问题。我通过添加表单附带的 headers 来解决:
let options = {
headers: {
'apikey': 'my-api-key',
...form.getHeaders()
}
};
希望您解决了,如果解决了,请分享答案。我正在找它!