CNode

electron 打开本地文件

问答
Iimwillxue发布于10 年前最后回复10 年前7 回复21711 浏览0 收藏

要做个简单的桌面应用,c/c++什么的也不懂,还会点js,就看了下electron 功能:点击按钮用默认应用打开word文件 用shell.openItem(fullPath),路径用相对路径打不开(不知道是不是写错了) 怎么获取程序的绝对路径呢,word文件在程序的文件夹下 相对路径的话怎么写?

查看回复

回复 (7)

I
imwillxue#1·10 年前

有人吗?

I
i5ting#2·10 年前

在你的node文件里可以去到

__dirname

然后再根据路径算出来即可

D
DevinXian#3·10 年前
引用 imwillxue@DevinXian const {shell} = require('electron');大括号什么意思

@imwillxue es6语法,解构赋值,有必要学习一下,很简单的

D
DevinXian#4·10 年前

注意__dirname变量,然后活用path模块join resolve等方法

C
CarlosRen#5·10 年前

好好electron的文档,dialog模块是可以获得用户选择文件的路径的

const electron = require("electron");

const dialog = electron.dialog;

exports.openDialog = function(defaultpath,callback){
    dialog.showOpenDialog({
        defaultPath :defaultpath,
        properties: [
            'openFile',
        ],
        filters: [
            { name: 'zby', extensions: ['json'] },
        ]
    },function(res){
        callback(res[0]) //我这个是打开单个文件的
    })
}

调用之后会获得一个数组,里面有选择文件的path,之后就可以用fs嘿嘿嘿了

I
imwillxue#6·10 年前
引用 DevinXian注意 dirname变量,然后活用path模块join resolve等方法

@DevinXian const {shell} = require('electron');大括号什么意思

K
klausgao#7·10 年前
引用 imwillxue@DevinXian const {shell} = require('electron');大括号什么意思

@imwillxue 新的写法,直接引用electron.shell,其实我也看不顺眼。

参与回复
登录后即可参与回复。登录