Wenn ich val()
auf einem Eingang mit type="file"
rufe, erhalte ich nur den Dateinamen anstelle des vollständigen Pfades. Wie kann ich den vollständigen Pfad bekommen?Voller Pfad von der Dateieingabe mit jQuery
Antwort
Sie können nicht: Es ist eine Sicherheitsfunktion in allen modernen Browsern.
Für IE8, es ist standardmäßig deaktiviert, kann aber mit einer Sicherheitseinstellung wieder aktiviert werden:
Wenn eine Datei mit Hilfe des input type = Dateiobjekts ausgewählt wird, auf die der Wert der Werteigenschaft abhängig Wert der Sicherheitseinstellung "Lokalen Verzeichnispfad beim Hochladen von Dateien auf einen Server einschließen" für die Sicherheitszone, die zum Anzeigen der Webseite mit dem Eingabeobjekt verwendet wird.
Der vollqualifizierte Dateiname der ausgewählten Datei wird nur zurückgegeben, wenn diese Einstellung aktiviert ist. Wenn die Einstellung deaktiviert ist, ersetzt Internet Explorer 8 das lokale Laufwerk und den Verzeichnispfad durch die Zeichenfolge C: \ fakepath \, um eine unangemessene Offenlegung von Informationen zu verhindern.
In allen anderen gängigen Mainstream-Browsern, die ich kenne, ist es auch ausgeschaltet. Der Dateiname ist der beste, den Sie bekommen können.
Weitere detaillierte Informationen und gute Links in this question. Es bezieht sich darauf, den Wert serverseitig zu erhalten, aber das Problem ist in JavaScript vor der Übermittlung des Formulars identisch.
Wie oben angegeben, ist dies normalerweise ein Berechtigungsproblem. Versuchen Sie, und verschieben Sie die Datei in einen anderen Bereich und erteilen Sie ihr volle Berechtigungen.
var Pfad = $ ('# Datei'). Attr ("Wert");
Wenn Sie die Datei in einen anderen Bereich verschieben und ihr unterschiedliche Berechtigungen erteilen, erhalten Sie nicht den vollständigen Dateipfad. die lokalen Dateiberechtigungen haben sehr wenig oder gar nichts damit zu tun, wie Browser mit den Dateien umgehen –
Nun, den vollen Pfad ist nicht möglich, aber wir können einen temporären Pfad haben.
Dieses Versuchen:
Es gebe Ihnen einen temporären Pfad nicht der genaue Weg, können Sie dieses Skript verwenden, wenn Sie ausgewählte Bilder wie in diesem jsfiddle Beispiel zeigen wollen (Versuchen Sie es durch Bilder als auch selectng als andere Dateien): -
Hier ist der Code: -
HTML: -
<input type="file" id="i_file" value="">
<input type="button" id="i_submit" value="Submit">
<br>
<img src="" width="200" style="display:none;" />
<br>
<div id="disp_tmp_path"></div>
JS: -
$('#i_file').change(function(event) {
var tmppath = URL.createObjectURL(event.target.files[0]);
$("img").fadeIn("fast").attr('src',URL.createObjectURL(event.target.files[0]));
$("#disp_tmp_path").html("Temporary Path(Copy it and try pasting it in browser address bar) --> <strong>["+tmppath+"]</strong>");
});
Es ist nicht genau das, was Sie suchen, aber sein kann es Ihnen irgendwo helfen kann.
Das war extrem hilfreich. Genau das, was ich gesucht habe. Vielen Dank. – JeffA
Das ist genau das, was ich will. Danke vielmals!! –
Ich habe die meiste Zeit für dieses nützliche Skript verschwendet :) Danke Bro – w3debugger
- 1. Wie wird der Dateiname aus einer Dateieingabe mit jQuery erfasst?
- 2. Erhalten von Dateieingabe blob Bild jQuery
- 3. Probleme mit der Dateieingabe [C++]
- 4. Dateieingabe mit Daten von URL
- 5. Styling Dateieingabe mit Foundation
- 6. Angular: Abrufen der Dateilänge von der Dateieingabe
- 7. Voller Pfad des aktuellen TCL-Skripts
- 8. Ersetze URL() relativen Pfad mit voller Domäne in CSS-Dateien
- 9. Scrollspy mit voller URL
- 10. Erhalte nur den Dateinamen von der Dateieingabe im Internet Explorer
- 11. HTML-Dateieingabe JS-Ereignisse
- 12. Schieberegler in voller Breite in jquery mobile?
- 13. Voller Videohintergrund mit video.js
- 14. Daten mit voller Zeitzone
- 15. Mauerwerk mit voller Breite
- 16. jQuery Cycle-Wrapper mit voller Breite auf jeder Folie
- 17. Pre-Populate HTML Formular Dateieingabe
- 18. Sincedb-Dateien aus der Logstash-Dateieingabe verstehen
- 19. Wie für Dateieingabe
- 20. MVC5-Controller nicht Datei von HTML-Dateieingabe
- 21. ng-Modell funktioniert nicht mit Dateieingabe
- 22. Korrektur für Firefox-Dateieingabe mit Bootstrap 3.1?
- 23. Angular2 Dateieingabe onchange
- 24. Hochladen von Dateien mit HTML-Dateieingabe auf dem iPhone
- 25. Dynamisch festgelegter Wert einer Dateieingabe
- 26. So entfernen Sie bestimmte Pfad von Google Map mit jquery
- 27. jquery - URL Pfad?
- 28. HTML 5 Dateieingabe mehrere - fügen Sie weitere Dateien nach der Auswahl der ersten Gruppe von
- 29. Semantisches UI-Dropdownmenü mit voller Breite
- 30. Java-Null-Zeiger-Ausnahme, Dateieingabe?
Ich kann den Pfad zu der Datei nicht mit dem Browser abrufen? Das ist Wahnsinn!! – gruszczy
@grusz Nun, es hängt von deiner Sichtweise ab: Es ist nichts von der Website, wo die hochgeladene Datei wirklich herkommt. Es ist nur schmerzhaft, wenn Sie den ursprünglichen Dateispeicherort als Service für den Benutzer speichern wollen, ich weiß .... Flash-basierte Upload-Komponenten wie uploadify oder swfupload.org * können * hier mehr Freiheiten haben. –
Das bedeutet also, ich kann den Wert nicht von einer Datei in eine andere kopieren, weil ich nie den vollständigen Pfad habe? – gruszczy