I was wondering if it was possible for jQuery to find a file extension based on a returned string?
A filename (string) will be passed to a function (openFile) and I wanted that function to do different things based on what file has been passed through, it could be image files or pdf files.
function openFile(file) { //if .jpg/.gif/.png do something //if .zip/.rar do something else //if .pdf do something else };
I've been looking for something that will find the file's extension but I can't seem to find anything.
function openFile(file) { var extension = file. substr( (file. lastIndexOf('.
The full filename is first obtained by selecting the file input and getting its value property. This returns the filename as a string. By the help of split() method, we will split the filename into 2 parts. The first part will be the filename and the second part will be the extension of the file.
How about something like this.
Test the live example: http://jsfiddle.net/6hBZU/1/
It assumes that the string will always end with the extension:
function openFile(file) { var extension = file.substr( (file.lastIndexOf('.') +1) ); switch(extension) { case 'jpg': case 'png': case 'gif': alert('was jpg png gif'); // There's was a typo in the example where break; // the alert ended with pdf instead of gif. case 'zip': case 'rar': alert('was zip rar'); break; case 'pdf': alert('was pdf'); break; default: alert('who knows'); } }; openFile("somestring.png");
EDIT: I mistakenly deleted part of the string in openFile("somestring.png");
. Corrected. Had it in the Live Example, though.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With