javascript - Utilizzare jQuery per ottenere il nome file selezionato per l'input del file senza il percorso




5 Answers

Hai solo bisogno di fare il codice qui sotto. Il primo [0] è per accedere all'elemento HTML e il secondo [0] è per accedere al primo file del caricamento del file (ho incluso una convalida nel caso in cui non ci sia alcun file):

    var filename = $('input[type=file]')[0].files.length ? ('input[type=file]')[0].files[0].name : "";
javascript jquery get filenames

Ho usato questo:

$('input[type=file]').val()

per ottenere il nome del file selezionato, ma ha restituito il percorso completo, come in "C: \ fakepath \ filename.doc". La parte "fakepath" era effettivamente lì - non so se dovrebbe essere, ma questa è la mia prima volta che lavoro con il nome del file di upload di file.

Come posso ottenere il nome del file (filename.doc)?




Ottieni il percorso di lavoro con tutto il sistema operativo

var filename = $('input[type=file]').val().replace(/.*(\/|\\)/, '');

Esempio

C:\fakepath\filename.doc 
/var/fakepath/filename.doc

Entrambi ritornano

filename.doc
filename.doc



forse qualche aggiunta per evitare falsi percorsi:

var fileName = $('input[type=file]').val();
var clean=fileName.split('\\').pop(); // clean from C:\fakepath OR C:\fake_path 
alert('clean file name : '+ fileName);



Deve essere jquery? O puoi semplicemente usare il tuo percorso JavaScript yourpath.split("\\") nativo di JavaScript per dividere la stringa in un array?




var filename=location.href.substr(location.href.lastIndexOf("/")+1);
alert(filename);



Related