Node.js: передача изображения как base64 в python с порождением - PullRequest
1 голос
/ 22 апреля 2019

Я пытаюсь передать изображение как base64 в python для обработки с использованием spawn следующим образом:

return new Promise(function(resolve, reject) {
      const pythonProcess = spawn('python',["./python.py", imageDataURI]);
      pythonProcess.stdout.on('data', (response) => {
        resolve(response);
      });
    });

Но я получаю error: Error: spawn E2BIG Я думаю, оно слишком большое для такой передачи, любойальтернативные способы передать его в spawn?

Кажется связанным:

Метание узла / child_process E2BIG

1 Ответ

1 голос
/ 23 апреля 2019

Благодаря ответу ottomeister я сделал это так:

В узле:

const pythonProcess = spawn('python',["script.py"]);

pythonProcess.stdin.write(data);
pythonProcess.stdin.end();
pythonProcess.stdout.on('data', (result) => {
    handleResult(result);
});

В питоне:

import fileinput

for line in fileinput.input():
    input +=line

# Process input

sys.stdout.write(result)
sys.stdout.flush()
...