Ich habe das benutzt:
$('input[type=file]').val()
um den Dateinamen auszuwählen, gab er jedoch den vollständigen Pfad zurück, wie in "C: \ fakepath \ filename.doc". Der Teil "fakepath" war tatsächlich da - ich bin mir nicht sicher, ob er sein soll, aber ich arbeite zum ersten Mal mit dem Dateinamen von Datei-Uploads.
Wie kann ich nur den Dateinamen (filename.doc) erhalten?
javascript
jquery
get
filenames
marky
quelle
quelle
C:\fakepath\
sodass böswillige Websites kein Javascript verwenden können, um Informationen über die Verzeichnisstruktur Ihres Computers zu erhalten.Antworten:
oder Sie könnten es einfach tun (weil es
C:\fakepath
aus Sicherheitsgründen immer hinzugefügt wird):quelle
Fakepath
mit einem Großbuchstaben F?Sie müssen nur den folgenden Code ausführen. Die erste [0] dient zum Zugriff auf das HTML-Element und die zweite [0] zum Zugriff auf die erste Datei des Datei-Uploads (ich habe eine Validierung hinzugefügt, falls keine Datei vorhanden ist):
quelle
Chrome kehrt
C:\fakepath\...
aus Sicherheitsgründen zurück. Eine Website sollte keine Informationen über Ihren Computer abrufen können, z. B. den Pfad zu einer Datei auf Ihrem Computer.Um nur den Dateinamen eines Strings zu erhalten, können Sie
split()
...jsFiddle .
... oder ein regulärer Ausdruck ...
jsFiddle .
... oder
lastIndexOf()
...jsFiddle .
quelle
Holen Sie sich Pfadarbeit mit allen Betriebssystemen
Beispiel
Beide kehren zurück
quelle
var filename = $('input[type=file]').val().replace(/.*(\/|\\)/, '');
verwendet jQuery.Hier ist, wie ich es mache, es funktioniert ziemlich gut.
In Ihrem HTML tun:
Erstellen Sie dann in Ihrer js-Datei eine einfache Funktion:
Wenn Sie mehrere Dateien erstellen, sollten Sie auch in der Lage sein, die Liste abzurufen, indem Sie Folgendes durchlaufen:
quelle
Vielleicht eine Ergänzung, um Fakepath zu vermeiden:
quelle
Wie wäre es mit so etwas?
quelle
Muss es jquery sein? Oder können Sie einfach JavaScript verwenden
yourpath.split("\\")
, um die Zeichenfolge in ein Array aufzuteilen?quelle
Rufen Sie die erste Datei vom Steuerelement ab und rufen Sie dann den Namen der Datei ab. Der Dateipfad in Chrome wird ignoriert und der Pfad für IE-Browser wird korrigiert. Beim Speichern der Datei müssen Sie die
System.io.Path.GetFileName
Methode verwenden, um den Dateinamen nur für IE-Browser abzurufenquelle
quelle
quelle
Diese Alternative scheint am besten geeignet zu sein.
quelle
Hier können Sie so aufrufen. Dies ist mein Steuerelement für die Eingabedatei
Hier ist meine JQuery, die aufgerufen wird, sobald Sie die Datei ausgewählt haben
quelle
Wir können es auch mit entfernen
match
quelle