实现点击后,打开本地电脑文件夹。
在NW项目中可以,但在web项目中不行,web项目中没有调用node的环境。
点击的事件回调
openFolder() {
let path = this.localImgPath;
let len = path.length;
let reg = /^(.+?)[\\\/]$/g;
if (reg.test(path)) {
path = path.substr(0, len - 1);
}
FileUtil.openFolder(path);
},
- 获取所要打开的文件夹的绝对路径
- 路径的最后一个字符不能是/或者\(斜杠或反斜杠),如果是就去掉
最后调用openFolder方法,传入路径去打开文件夹
openFolder(path){
if(window.hasOwnProperty('nw')){
const { spawn } = nw.require('child_process');
spawn('explorer.exe', [path]);
}
},
- 先引入了spawn,
spawn,使用指定的命令行参数创建新进程 - 然后用spawn调用了explorer.exe,打开了传入的路径。
explorer.exe是微软为其Windows操作系统定义的的系统核心进程,是windows自带的。
用exec也可以打开
exec('explorer.exe', [path]);