web-dev-qa-db-fra.com

Sauvegarder des fichiers localement avec electron

J'ai quelques fichiers modèles qui contiennent chacun quelques chaînes de variables, je voudrais construire un formulaire de saisie très simple avec Electron ( http://electron.atom.io/ ) et je veux sauvegarder le fichier de sortie composé sur l'ordinateur de l'utilisateur.

Existe-t-il un module que je peux utiliser pour permettre à Electron de sauvegarder les fichiers localement?

33
Adriano

Si vous ciblez plusieurs plates-formes, j'ai répondu ne question similaire ici . Fondamentalement, app.getPath (nom) , app.setPath (nom, chemin) , et app.getAppPath () sont très utiles pour enregistrer des fichiers. au bon endroit quel que soit le système d'exploitation.

Vous pouvez également consulter ces packages Nodejs qui simplifient la sauvegarde des fichiers directement sur la machine hôte ...

Si vous souhaitez que les utilisateurs enregistrent des fichiers, vous pouvez également consulter le Dialogue de dialogue où vous pouvez spécifiquement appeler un enregistrer le dialogue à cet effet.

38
Josh

Un exemple de code est:

// your content is into a variable named 'content'
var fs = require('fs');
try { fs.writeFileSync('myfile.txt', content, 'utf-8'); }
catch(e) { alert('Failed to save the file !'); }
18
ClementNerma
const {dialog} = require('electron').remote;
var fs = require('fs');

  export default {
    methods: {
      save: function () {
        var options = {
          title: "Save file",
          defaultPath : "my_filename",
          buttonLabel : "Save",

          filters :[
            {name: 'txt', extensions: ['txt',]},
            {name: 'All Files', extensions: ['*']}
           ]
        }

        dialog.showSaveDialog( options, (filename) => {
          fs.writeFileSync(filename, "hello world", 'utf-8');
        })
      },
    }
0
JeffCharter