电子打开文件/目录在特定的应用程序中

时间:2017-05-16 01:43:34

标签: node.js electron

我正在使用Electron构建一种File explorer / Finder。 我想用特定的应用程序打开一些文件类型。

我尝试过这个答案的方法: Open external file with Electron

import { spawn } from 'child_process'
spawn('/path/to/app/superApp.app', ['/path/to/file'])

但是当我这样做时,我得到如下EACCES错误。

这是正确的做法吗?如果是,我该如何解决问题?如果没有,那么正确的做法是什么?

2 个答案:

答案 0 :(得分:21)

您可以通过电子模块中的shell命令打开文件或文件夹。这些命令适用于main和renderer进程。

const {shell} = require('electron') // deconstructing assignment

shell.openItem('filepath')
shell.openItem('folderpath')

有关https://github.com/electron/electron/blob/master/docs/api/shell.md

的更多信息

答案 1 :(得分:0)

要显示用于打开和保存文件,警报等的本机系统对话框,可以使用电子包中的对话框模块。

const electron = require('electron');
var filePath = __dirname;
console.log(electron.dialog.showOpenDialog)({
  properties:['openFile'],
  filters:[
    {name:'Log', extentions:['csv', 'log']}
  ]
});

Electron Docs提供了非常及时的说明。