Electron实践(三)—— 使用打开文件对话框和保存文件对话框选择文件路径

上一节我们使用node.js的文件服务打开和保存文件,现在我们看如何使用electron的对话框来选择本地文件。可以在主进程操作electron的对话框,如果在渲染进程操作,需要使用remote访问主进程,代码是这样的:

const {dialog} = require('electron').remote;

然后,就可以启动对话框选择文件了,启动打开对话框的代码如下:

 let options = {
        title : "打开文件", 
        defaultPath : "",
        buttonLabel : "打开",
        filters :[
         {name: '文本文件', extensions: ['txt']},
         {name: 'All Files', extensions: ['*']}
        ],
        properties: ['openFile']
       }
 let files=dialog.showOpenDialogSync( options);

这里使用的是同步打开,如果使用异步方法,可以使用showOpenDialog,后面加回调函数。还有需要注意的是返回的是数组,下面是打开文件的代码:

if(file&&file.length>0)
            fs.readFile(file[0], 'utf8', function (err, data) {
                console.log(data);
            });

保存文件与打开文件类似,只是返回的是文件路径,不是数组了。代码如下:

let file=dialog.showSaveDialogSync(
        {
            filters :[
                {name: 'Text', extensions: ['txt']},
                {name: 'All Files', extensions: ['*']}
               ],
               properties: ['saveFile']
        }
    );
        console.log(file);
    if(file)
        fs.writeFile(file, txt.value, function (err) {
            if(err) alert(err);
            else alert("保存成功");
        });

你可能感兴趣的:(Electron实践(三)—— 使用打开文件对话框和保存文件对话框选择文件路径)