Я запускаю следующий код с использованием узла, и я всегда получаю только около 80% того, что должен вернуть стандартный вывод, когда файл превышает 12ko или около того. Если файл 240ko, он все равно будет выводить 80%. Если он меньше 12, он выведет полностью.
Когда я открываю cmd и запускаю команду вручную, я всегда получаю полный вывод.
Я пробовал exec, execFile, я пытался увеличить максимальный буфер или изменить кодировку, и это не проблема,Я попытался добавить опции {shell: true, detached: true}
, но, на самом деле, когда я запускаю его как отсоединенный, он работает совершенно бесполезно, и, похоже, он работает совершенно нормально, так как открывает настоящую консоль, но я не могу получить стандартный вывод после завершения процесса. .
const spawn = require('child_process').spawn;
const process = spawn(
'C:\\Users\\jeanphilipped\\Desktop\\unrtf\\test\\unrtf.exe',
['--html' ,'C:\\Users\\jeanphilipped\\Desktop\\unrtf\\test\\tempaf45.rtf'],
);
let chunks = [];
process.stdout.on('data', function (msg) {
chunks = [...chunks, ...msg];
});
process.on('exit', function (msg) {
const buffer = Buffer.from(chunks);
console.log(buffer.toString());
});
Есть какие-нибудь подсказки? Кажется, это Node, так как, когда я запускаю его вручную, все работает нормально.