电子对话框不保存文件

Abe*_*bel 6 javascript dialog electron

电子版本:1.3.3 操作系统:Ubuntu 14.04

我想用 Electron 将 XML 对象保存到 .xml 文件中。我试试这个:

const {dialog} = require("electron").remote; 
dialog.showSaveDialog(myObj)
Run Code Online (Sandbox Code Playgroud)

一个新窗口正在打开,我填写了文件名,但没有保存任何内容。 在此处输入图片说明

ash*_*deh 9

建议使用 dialog.showSaveDialog 返回的路径来获取filepath新版本的电子:(result.filePath在下面的代码中)

    filename = dialog.showSaveDialog({}
    ).then(result => {
      filename = result.filePath;
      if (filename === undefined) {
        alert('the user clicked the btn but didn\'t created a file');
        return;
      }
      fs.writeFile(filename, content, (err) => {
        if (err) {
          alert('an error ocurred with file creation ' + err.message);
          return
        }
        alert('WE CREATED YOUR FILE SUCCESFULLY');
      })
      alert('we End');
    }).catch(err => {
      alert(err)
    })
Run Code Online (Sandbox Code Playgroud)


Tea*_*eak 7

showSaveDialog()API不将文件保存为您服务。您必须使用返回的路径并使用 Node 来保存您的文件。

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

dialog.showSaveDialog({}).then((result) => {
  fs.writeFile(result.filePath, MyFileData, (err) => {
    // file saved or err
  });
}).catch((err) => {
  // err
});
Run Code Online (Sandbox Code Playgroud)