javascript - 如何在 NWJS 中获取文件位置作为变量

标签 javascript nw.js

我正在尝试获取文件位置作为 NW.JS 中的变量。我从 nw.js 文档中获得了这段代码,但无法弄清楚如何使用它来返回文件位置。我是否需要编写一个脚本来使用 id“fileDialog”来获取结果? https://github.com/nwjs/nw.js/wiki/file-dialogs

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

最佳答案

您最好通过文件列表访问文件名input.files:

https://github.com/nwjs/nw.js/wiki/file-dialogs查看歌曲列表部分。

被调用的函数是异步回调,因此您无法将名称返回给调用函数。只需处理回调中的所有文件即可。

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) */ });

关于javascript - 如何在 NWJS 中获取文件位置作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45302625/

相关文章:

javascript - 如何在 nw.js 中访问 iframe 的内容?

javascript - 你能动态创建一个 IMG 元素,并使用 document.GetElementById(name); 访问它吗?

javascript - 从嵌套的 jquery 对话框运行服务器端方法

javascript - GWT 计时器取消不起作用

javascript - 获取点击列表元素的索引

cookies - 如何在 nwjs 的 webview 标签内获取和设置 cookie?

错误?按向上和向左箭头键时没有空格键事件

javascript - 在 JavaScript 中复制关联数组

javascript - 如何在 NW.js 的服务页面中运行脚本?

javascript - 无法在 NW.js 中切换窗口菜单栏可见性