2017-08-29 2 views
1

Gibt es eine Möglichkeit, dass ich den folgenden Code bekomme, um den Dateidialog zu einem Ordner namens "projects" zu öffnen, der in der NW.JS-Anwendung? Ich habe die Dokumentation versucht hier ... https://github.com/nwjs/nw.js/wiki/file-dialogs aber haben nicht gefunden, was ich suche fürWie bekomme ich den Dateidialog in NW.JS um einen Ordner innerhalb der Anwendung zu öffnen?

<input id="fileDialog" type="file"> 
<script> 
document.querySelector('#fileDialog') 
    .addEventListener("change", function() { 
    var filePath = this.value; 
    alert(filePath); 
    }); 
</script> 

Antwort

0
<label for="fileDialogOPEN"><img src="../images/open.png" style="width:20px;background:none;"></label> 
<div id="openBUT"></div> 

<script> 
var nwDir = process.cwd() + "/projects"; 
var goForIt = '<input id="fileDialogOPEN" nwworkingdir="' + nwDir + '" type="file" name="photo" style="display: none;" >'; 
    $("#openBUT").append(goForIt); 

    document.querySelector('#fileDialogOPEN') 
    .addEventListener("change", function() { 
    var filePath = this.value; 
    alert(filePath); 
    }); 
</script> 
0

Ich schlage vor, mehr saubere Lösung mit kleinen Bugfix:

<input id="opendlg" type="file" accept=".*" /> 

<script> 
opendlg.setAttribute('nwworkingdir', require('path').join(process.cwd(), 'projects')); 
opendlg.addEventListener('change', function (e) { 
    var filepath = e.target.value; 
    if (filepath) { 
    e.target.value = ''; // or you will not receive change-event next time on the same file 
    alert(filepath); 
    } 
}); 
</script> 
Verwandte Themen