Letní akce PHP týden
Pouze tento týden sleva až 80 % na kurzy PHP. Lze kombinovat s akcí Letní slevy na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!
Avatar
Tomáš Pařízek:1. ledna 15:47

Dělám si malý program pro něhož je nepostradatelné nahrávání souborů, potřebuju poradit. Když zadám:

<input type="file" onchange="alert(this.value)">

Cesta vždy vypadá takto:
C:/fakepath/na­zevsouboru
Stačilo by mně nastavení jenom pro sebe, program je můj osobní a pro ostatní nepotřebný, tudíž ho nikomu dávat nebudu.

Zkusil jsem: Už jsem taky zkoušel toto:

<input type="file" onchange="alert(this.files[0].name)">

Chci docílit: Rád bych dosáhnul toho, aby mně program vyhodil celou cestu k souboru (obrázku).

 
Odpovědět 1. ledna 15:47
Avatar
gold604
Člen
Avatar
gold604:1. ledna 19:13

Z bezpečnostných dôvodov browser neprezrádza reálnu cestu k súboru. Ak chceš tento obrázok zobraziť ešte pred tým, ako sa formulár odošle, použi FileReader API (doc. https://developer.mozilla.org/…I/FileReader).

Editováno 1. ledna 19:15
 
Nahoru Odpovědět  +2 1. ledna 19:13
Avatar
Šimon Raichl
Překladatel
Avatar
Odpovídá na Tomáš Pařízek
Šimon Raichl:1. ledna 20:35

Jak jiz zminil gold604, z file inputu nemuzes dostat celou cestu, jinak tady prikladam na ukazku jednoduchy pouziti FileReaderu:

const upload = document.querySelector("input[type=file]");
const img = document.querySelector("img");

upload.addEventListener("change", e => {
    const reader = new FileReader();
    const file = e.target.files[0];

    reader.onload = e => img.src = e.target.result;

    reader.readAsDataURL(file);
});
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +2 1. ledna 20:35
Avatar
Odpovídá na Šimon Raichl
Tomáš Pařízek:2. ledna 14:03

Dobře, děkuju, ale můžu se zeptat na konkrétní použití v praxi? Já v tom kódu nějak nevidím že by odkazoval na konkrétnétní input. Předem děkuju za odpověď.

 
Nahoru Odpovědět 2. ledna 14:03
Avatar
Odpovídá na Šimon Raichl
Tomáš Pařízek:2. ledna 14:11

Jinak, funguje to, proto dávám fajfku, ale vědět něco o tom odkazování by se hodilo. Díky

 
Nahoru Odpovědět 2. ledna 14:11
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.