Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get only file name from file input on internet explorer

I need to return only the file name from an HTML input file.

<input type="file" id="whatever" />

The JavaScript code im using to get the name of the file is:

document.getElementById("whatever").value;

In firefox it gives only the file name which is what I want, but in IE I get the full path.

I think that string manipulation is the only way to get the name.

What would be the easiest/shortest way to get only the name (extension too) in JavaScript? Thanks.

like image 686
user937450 Avatar asked Apr 09 '13 04:04

user937450


2 Answers

You can try this

var path = document.getElementById("whatever").value;
var fileName = path.match(/[^\/\\]+$/);
console.log(fileName);
like image 84
karthick Avatar answered Oct 19 '22 23:10

karthick


I hope this works.

var fullFileName = document.getElementById("whatever").value;
var fileName = fullFileName.substr(fullFileName.lastIndexOf("\\")+1, fullFileName.length);

Here is the fiddle for that Fiddle

like image 2
Sandeep Avatar answered Oct 19 '22 22:10

Sandeep