我有以下代码:
app.get('/scr', function(req, res) {
var command = spawn(scripts + "/script.sh");
command.stdout.on('data', function (data) {
res.send(data);
});
});
脚本输出Hello World!
。我希望在转到http://localhost:XXXX/scr
时在浏览器上显示此输出。但是,这要我下载一个Hello World!
的文件。如何在浏览器上获得该输出?
答案 0 :(得分:2)
data
事件可能会被多次触发,但send
只能被调用一次。不要使用send
,而是使用write
和end
;或者,由于command.stdout
是一个流,只需将其传递到响应中:
command.stdout.pipe(res);
您可能希望在此之前显式设置MIME类型,例如:
res.type('text/plain');
答案 1 :(得分:0)
您需要设置内容类型。
res.set('Content-Type', 'text/plain');