用node-webkit中的默认程序打开一个文件

我想给用户任何他想要编辑文件的选项,我怎样才能用特定文件types的默认程序打开一个文件? 我需要它与Windows和Linux一起工作,但Mac选项也会很好。

Solutions Collecting From Web of "用node-webkit中的默认程序打开一个文件"

正如PSkocik所说,首先检测平台并获得命令行:

function getCommandLine() { switch (process.platform) { case 'darwin' : return 'open'; case 'win32' : return 'start'; case 'win64' : return 'start'; default : return 'xdg-open'; } } 

其次,执行命令行后面的路径

 var sys = require('sys'); var exec = require('child_process').exec; exec(getCommandLine() + ' ' + filePath); 

对于磁盘上的文件:

 var nwGui = require('nw.gui'); nwGui.Shell.openItem("/path/to/my/file"); 

对于远程文件(例如网页):

 var nwGui = require('nw.gui'); nwGui.Shell.openExternal("http://google.com/"); 

检测平台并使用:

  • 在Windows上“开始”
  • 在Mac上“打开”
  • Linux上的“xdg-open”