[Javascript] Verwenden Sie jQuery, um den ausgewählten Dateinamen der Dateieingabe ohne den Pfad abzurufen


Answers

Sie müssen nur den folgenden Code tun. Die erste [0] ist der Zugriff auf das HTML-Element und die zweite [0] ist der Zugriff auf die erste Datei des Datei-Uploads (ich habe eine Validierung eingefügt, falls keine Datei vorhanden ist):

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

Ich habe das benutzt:

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

um den Dateinamen auszuwählen, aber es gab den vollständigen Pfad zurück, wie in "C: \ fakepath \ filename.doc". Der "fakepath" -Teil war tatsächlich da - nicht sicher, ob es sein sollte, aber das ist das erste Mal, dass ich mit dem Dateinamen von Datei-Uploads arbeite.

Wie kann ich nur den Dateinamen (Dateiname.doc) bekommen?




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



Erhalte Pfadarbeit mit allen Betriebssystemen

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

Beispiel

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

Beide kehren zurück

filename.doc
filename.doc



vielleicht ein Zusatz zur Vermeidung von FakePath:

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



Muss es jquery sein? Oder können Sie einfach die native JavaScript- yourpath.split("\\") , um die Zeichenfolge in ein Array zu yourpath.split("\\") ?




Links