当前位置: 首页 > 面试题库 >

如何从node.js调用外部脚本/程序

袁博
2023-03-14
问题内容

我有一个C++程序和一个Python脚本,希望将其合并到我的node.jsWeb应用程序中。

我想使用它们来解析上传到我的网站的文件;处理过程可能需要几秒钟,因此我也避免阻止该应用程序。

我如何才能只接受文件,然后仅C++node.js控制器的子过程中运行程序和脚本?


问题答案:

参见child_process。这是一个使用的示例spawn,它允许您在输出数据时写入stdin并从stderr
/ stdout中读取。如果您不需要写stdin并且可以在过程完成时处理所有输出,请child_process.exec提供稍短一些的语法来执行命令。

// with express 3.x
var express = require('express'); 
var app = express();
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(app.router);
app.post('/upload', function(req, res){
   if(req.files.myUpload){
     var python = require('child_process').spawn(
     'python',
     // second argument is array of parameters, e.g.:
     ["/home/me/pythonScript.py"
     , req.files.myUpload.path
     , req.files.myUpload.type]
     );
     var output = "";
     python.stdout.on('data', function(data){ output += data });
     python.on('close', function(code){ 
       if (code !== 0) {  
           return res.send(500, code); 
       }
       return res.send(200, output);
     });
   } else { res.send(500, 'No file found') }
});

require('http').createServer(app).listen(3000, function(){
  console.log('Listening on 3000');
});


 类似资料:
  • 问题内容: 如何在Java中调用node.js并将console.log值保存在String变量中? 问题答案: Java应用程序可能与正在运行的Node.JS应用程序进行通信。例如,您可以在可用端口上运行Node.JS应用,而Java应用可以通过tcp套接字与之通信。 http://nodejs.org/api/net.html 或者,您可以创建一个http服务器并公开Java应用程序可以使用的

  • 问题内容: 假设我有这样的类(用打字稿编写),并将其与webpack捆绑在一起。 在我的index.html中,我将包含该捆绑包,但随后我也想调用该静态方法。 但是,在这种情况下,未定义。那我该如何从另一个脚本中调用捆绑的javascript? 问题答案: 看来您想将webpack捆绑包公开为一个库。您可以将webpack配置为在自己的变量(如)中在全局上下文中公开您的库。 我不知道TypeScr

  • 问题内容: 我正在编写一个使用node.js访问本地文件系统的桌面Web应用程序。我目前可以使用node.js打开文件并将其复制到硬盘驱动器上的不同位置。我还想做的是允许用户使用与文件类型关联的应用程序打开特定文件。换句话说,如果用户在Windows环境中选择“ myfile.doc”,它将使用该文件启动MSWord。 我一定是术语的受害者,因为除了与node.js进行通信的子进程的生成之外,我什

  • 我有一个,以以下内容结尾: 现在,我想运行一些初始化从外壳脚本在此之前。所以我必须重构: 与: 问:我如何才能真正模拟外壳脚本内的java entrypoint?

  • 问题内容: 我有一些用PHP编写的代码,但是我还开发了一个用Python编写的脚本。是否可以从PHP代码调用此Python脚本? 如果是,如何从PHP将参数传递给Python脚本? 我试图找到一个没有成功的答案。 有人可以给我一个提示吗? 问题答案: 您使用系统功能:http : //php.net/manual/en/function.system.php 像这样:

  • 我试图使用原子电子为Mac和Windows编写桌面应用程序。 我需要的是: 一个按钮。 当用户单击按钮时,它将运行以下shell(或python脚本): 结果将显示在文本区域中。 我试着使用[shelljs]和[yargs],但它似乎不适用于原子电子。 所有我想要的是使用JAVASCRIPT编写桌面应用程序(当然是GUI),调用一些脚本(shell 如有任何建议,将不胜感激,谢谢:)