【问题标题】:get file name of selected file获取所选文件的文件名
【发布时间】:2017-07-21 12:28:16
【问题描述】:

如何只获取所选数据的名称。我做了以下但得到文件的整个路径。我想显示用户的文件名

var dialog = require('electron').remote.dialog;

var url;

    document.getElementById('openButton').onclick = () => {

      dialog.showOpenDialog((fileName) => {
        if(fileName === undefined) {
          alert('No file selected');
        } else {
          console.log(fileName)

          url = fileName[0];
          console.log(url);
          $('#dataFileName').html(url)
        }
      })




    };

我得到的是“/Users/void/Desktop/abc.xlsx”,除此之外,我还想只打开我打开的文件。

【问题讨论】:

  • 你打开的不是那个文件吗?您只想要名称而不是路径吗?
  • 请编辑看看console.log(filename)的结果是什么

标签: javascript dialog electron


【解决方案1】:

你也可以使用path.basename()

const {basename} = require('path')

let filePath = "/Users/void/Desktop/abc.xlsx"
let fileName = basename(filePath)

【讨论】:

  • 这就是我真正想要的
  • 对于 Node.js path 模块来说太棒了
【解决方案2】:

这是一个简单的方法,您可以只获取文件名:

var filePath = "/Users/void/Desktop/abc.xlsx";
var fileName = filePath.replace(/^.*[\\\/]/, '');

console.log(fileName);

这里有一个fiddle 来演示。

【讨论】:

  • 上面展示的正则表达式很棒
【解决方案3】:

如果我理解正确,你可以这样用:

var mystring = "/Users/void/Desktop/abc.xlsx"; //replace your string 
var temp = mystring.split("/"); // split url into array
var fileName = temp[temp.length-1]; // get the last element of the array

你基本上做的是用“/”正则表达式分割你的 url,所以你得到每一位,文件名总是最后一位,所以你可以用你刚刚创建的数组长度来获取它。

【讨论】:

  • 您考虑过其他操作系统吗?上面的路径样式和斜线因不同的操作系统而异。
猜你喜欢
  • 2014-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-07
  • 2013-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多