Javascript tesseract.js返回的base64字符串太长

Javascript tesseract.js返回的base64字符串太长,javascript,tesseract,tesseract.js,Javascript,Tesseract,Tesseract.js,我想在node.js服务器上测试tesseract.js库,但在运行以下代码时: var TESSERACT = require('tesseract.js'); var base64String = 'data:image/png;base64,' + pngInBase64; var job1 = TESSERACT.recognize(base64String, { progress: show_progress, lang: 'ang' }); function sho

我想在node.js服务器上测试tesseract.js库,但在运行以下代码时:

var TESSERACT = require('tesseract.js');
var base64String = 'data:image/png;base64,' + pngInBase64;
var job1 = TESSERACT.recognize(base64String, {
    progress: show_progress,
    lang: 'ang'
});

function show_progress(p) {
    console.log(p);
}
它收到以下格式的错误:

Error: ENAMETOOLONG: name too long, open 'data:image/png;base64,iVBORw0KGgoAAAA ...
是否可以以某种方式设置(放大)base64字符串的最大长度?

使用
“tesseract.js”:“1.0.10”

通过将字符串作为参数传递给
recognize
Tesseract
尝试打开名为
data:image/png的文件;base64,{bytes…}
这会抛出您看到的错误,即
ENAMETOOLONG
,文件名太长

若要
识别
base64字符串,请将其转换为内容为base64解码的
缓冲区

Tesseract.recognize(Buffer.from(base64String, 'base64'));
// have a cup of tea
注意:
Tesseract.recognize
在base64
缓冲区上不起作用,您还需要删除元数据:
data:image/png;base64

所以这是行不通的:

Tesseract.recognize(Buffer.from(base64string));
这也行不通:

const base64string = 'data:image/png;base64,{bytes...}'
Tesseract.recognize(Buffer.from(base64string));
您需要获取以下字节:

const base64string = 'data:image/png;base64,{bytes...}'.split(',')[1];
Tesseract.recognize(Buffer.from(base64string, 'base64'));