Node.js:使用 spawn 将图像作为 base64 传递给 python
Node.js: Passing image as base64 to python with spawn
我正在尝试将图像作为 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?
似乎相关:
Node / child_process throwing E2BIG
感谢 ottomeister 的回答,我是这样做的:
在节点中:
const pythonProcess = spawn('python',["script.py"]);
pythonProcess.stdin.write(data);
pythonProcess.stdin.end();
pythonProcess.stdout.on('data', (result) => {
handleResult(result);
});
在python中:
import fileinput
for line in fileinput.input():
input +=line
# Process input
sys.stdout.write(result)
sys.stdout.flush()
我正在尝试将图像作为 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?
似乎相关:
Node / child_process throwing E2BIG
感谢 ottomeister 的回答,我是这样做的:
在节点中:
const pythonProcess = spawn('python',["script.py"]);
pythonProcess.stdin.write(data);
pythonProcess.stdin.end();
pythonProcess.stdout.on('data', (result) => {
handleResult(result);
});
在python中:
import fileinput
for line in fileinput.input():
input +=line
# Process input
sys.stdout.write(result)
sys.stdout.flush()