2017-07-25 11 views
0

NW.JSで変数としてファイルの場所を取得しようとしています。私はnw.jsのドキュメントからこのコードを持っていますが、それを使ってファイルの場所を返す方法を理解することはできません。結果を得るためにid "fileDialog"を使うスクリプトを書く必要がありますか? https://github.com/nwjs/nw.js/wiki/file-dialogsNWJSで変数としてファイルの場所を取得する方法

**HTML** 
<input style="display:none;" id="fileDialog" type="file" /> 

**Javascript** 
<script> 
    function chooseFile(name) { 
    var chooser = document.querySelector(name); 
    chooser.addEventListener("change", function(evt) { 
     console.log(this.value); 
    }, false); 

    chooser.click(); 
    } 
    chooseFile('#fileDialog'); 
</script> 

答えて

1

方が良いファイルリストinput.filesを経由してファイル名にアクセス:

https://github.com/nwjs/nw.js/wiki/file-dialogs LILEリストセクションを見てください。

呼び出された関数は非同期コールバックなので、呼び出す関数に名前を返すことはできません。コールバック内のすべてのファイルを処理するだけです。

function chooseFile(name, handleFile) { 
    var chooser = document.querySelector(name); 
    chooser.addEventListener("change", function(evt) { 
     for(var f of this.files){ 
      console.log(f.name); 
      console.log(f.path); 
      handleFile(f.name, f.path); 
     } 
    }, false); 

    chooser.click(); 
} 
chooseFile('#fileDialog', function(name, path){ ... /* do something with the file(s) */ }); 
+0

完全に機能します。ありがとうございました! – Marley

関連する問題