• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak pobrać ścieżkę do pliku z input type="file" za pomocą javascript lub jquery?

Aruba Cloud - Virtual Private Server VPS
+1 głos
1,304 wizyt
pytanie zadane 28 czerwca 2020 w JavaScript przez SCpl Użytkownik (590 p.)

Kod wygląda w skrócie tak:

<html lang="pl">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<link href="style.css" rel="stylesheet" type="text/css">
	</head>
	<body>
                <input type="file" onchange="obraz()">
                <img id="obraz">
		<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
                <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
                <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
		<script src="script.js"></script>
	</body>
</html>
function obraz() {
	var sciezka = [...];
	document.getElementById("obraz").src = "file:///" + sciezka;
}

I chciałbym pobrać do zmiennej "sciezka" ścieżkę do pliku, ale nie wiem, jak. Z góry dziękuje. :D

2 odpowiedzi

+2 głosów
odpowiedź 28 czerwca 2020 przez Comandeer Guru (606,480 p.)
wybrane 28 czerwca 2020 przez SCpl
 
Najlepsza
Nie da się. Przeglądarki wstawiają tam fałszywe ścieżki, żeby żadne prywatne informacje (np. nazwa użytkownika) nie wyciekły.

Niemniej da się dostać bezpośrednio do pliku w inpucie, przez input.files i odczytać go przy pomocy FileReadera: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL
komentarz 28 czerwca 2020 przez SCpl Użytkownik (590 p.)
A to działa na wszystkich przeglądarkach, czy tylko na FireFoxie?
1
komentarz 28 czerwca 2020 przez Comandeer Guru (606,480 p.)
We wszystkich: https://caniuse.com/#feat=filereader

MDN to de facto oficjalna dokumentacja standardów sieciowych.
0 głosów
odpowiedź 28 czerwca 2020 przez SzkolnyAdmin Szeryf (89,570 p.)
komentarz 28 czerwca 2020 przez SCpl Użytkownik (590 p.)
Ale jak ma mi pomóc informacja, że mogę użyć funkcji replace do podmiany "fakepath", jeśli nie wiem na co to podmienić? Chyba że ja czegoś nie rozumiem.

Podobne pytania

+1 głos
2 odpowiedzi 743 wizyt
pytanie zadane 31 stycznia 2022 w JavaScript przez mi-20 Stary wyjadacz (13,250 p.)
0 głosów
4 odpowiedzi 919 wizyt
+1 głos
1 odpowiedź 816 wizyt

93,324 zapytań

142,323 odpowiedzi

322,389 komentarzy

62,653 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...