我试图将两个控制台命令基本连接在一起,但我明显遗漏了一些东西:
var child = require('child_process');
var image_bin = child.spawn('cat', ['./t.jpg']);
var image_txt = child.spawn('openssl', ['base64']);
image_txt.on('pipe', function(src) {
console.error('something is piping into the writer');
});
image_bin.stdout.pipe(image_txt.stdout);
有什么想法吗?
答案 0 :(得分:0)
谢谢@IvanGrynko和@dylants。我绝对需要将stdout更改为stdin。 @dylants我尝试了在stdin,stderr和stdout上查找错误的不同变体,但没有看到任何错误。但是,当我开始监视stdout上的数据时,事情开始起作用了。当我想到它时,我想这是有道理的。我想如果你实际上没有对数据做某些事情就会阻止它。以下是我提出的建议:
var child = require('child_process');
var image_bin = child.spawn('cat', ['./t.jpg']);
var image_txt = child.spawn('openssl', ['base64']);
image_txt.stdout.on('data', function (data) {
process.stdout.write(data.toString());
});
image_bin.stdout.pipe(image_txt.stdin);