moody
moody

Reputation: 402

get file name of selected file

How can I get only the name of the selected Data. I do the following but get the whole path of the File. I would like to display the filename for the user

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)
        }
      })




    };

What i get is "/Users/void/Desktop/abc.xlsx" and I would like to have in addition to that only the file i opened.

Upvotes: 1

Views: 2673

Answers (3)

RoyalBingBong
RoyalBingBong

Reputation: 1129

You can also use path.basename()

const {basename} = require('path')

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

Upvotes: 5

billyg4585
billyg4585

Reputation: 69

Here is a simple way you can grab just the file name:

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

console.log(fileName);

Here is a fiddle to demonstrate.

Upvotes: 2

Alp
Alp

Reputation: 377

If I understood correctly, you can use this:

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

What you basically do is to split your url with "/" regex, so you get each bit, and filename is always the last bit so you can get it with array's length you just created.

Upvotes: 0

Related Questions