2017-04-24 339 views
0

我对节点v7.7.3有点Koa2应用程序运行Koa2服务器返回二进制数据

koa-router/capture处理函数正确调用和我的摄像头采取的一个镜头。但由于某种原因,我无法返回cmd.stdout中生成的缓冲区,并且缓冲区已填满。

router.get(['/capture'], function (ctx, next) { 
    const cmd = spawn('fswebcam', ['-r800x600', '-S1', '--jpeg', '100', '--device', '/dev/video1', '--timestamp', '%d-%m-%Y %H:%M:%S (%Z)', '-']); 
    console.log(cmd.status); 
    console.log(cmd.stdout); 
    this.body = cmd.stdout; 
    return cmd.stdout; 
}); 

回答

0

如果您cmd.stdout填写正确,您应该返回您的数据是这样的:

router.get(['/capture'], function (ctx, next) { 

    ... 

    console.log(cmd.stdout); 
    this.body = cmd.stdout; 

    // provide an appropriate MIME type 
    ctx.type = 'image/jpeg'; // if it is an jpeg 

    // return the data in the ctx.body 
    ctx.body = cmd.stdout; 
});