web-dev-qa-db-ja.com

electronを使用してファイルをローカルに保存する

それぞれにいくつかの変数文字列を含むテンプレートファイルがいくつかあり、Electron( http://electron.atom.io/ )を使用して非常に簡単な入力フォームを作成し、保存したいユーザーのコンピューター上の合成出力ファイル。

Electronにファイルをローカルに保存させるために使用できるモジュールはありますか?

33
Adriano

複数のプラットフォームをターゲットにしている場合、 同様の質問 と答えました。基本的に app.getPath(name)app.setPath(name、path) 、および app.getAppPath() はファイルの保存に非常に役立ちますOSに関係なく適切な場所に。

また、これらのNodejsパッケージをチェックアウトすると、ホストマシンへのファイルの直接保存が簡単になります。

ユーザーがファイルを保存することを意図している場合は、 Dialog api を見て、その目的で save dialog を具体的に呼び出すこともできます。

38
Josh

サンプルコードは次のとおりです。

// 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