我正在使用Electron构建一种File explorer / Finder。 我想用特定的应用程序打开一些文件类型。
我尝试过这个答案的方法: Open external file with Electron
import { spawn } from 'child_process'
spawn('/path/to/app/superApp.app', ['/path/to/file'])
但是当我这样做时,我得到如下EACCES
错误。
这是正确的做法吗?如果是,我该如何解决问题?如果没有,那么正确的做法是什么?
答案 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提供了非常及时的说明。