V tomto návode ti ukážem, ako pomocou JavaScriptu spravovať prístup k lokálnym súborom, ktoré boli vybrané cez políčko Input. Je možné upravovať vybrané súbory, zobrazovať ich lokálne a dokonca generovať náhľady bez ich nahratia na server. Tieto znalosti sú obzvlášť užitočné, ak chceš vytvoriť používateľsky prívetivé formuláre s funkciou na nahrávanie súborov. Poďme hneď prejsť k detailom!

Najdôležitejšie poznatky

  • Naučíš sa, ako pomocou JavaScriptu získať prístup k súborom vstupného prvku, zobraziť ich a generovať náhľady.
  • Okrem toho sa dozvieš, ako prispôsobiť veľkosť zobrazených obrázkov a implementovať to aj bez formulára.

Po krokoch sprievodca

Na implementáciu funkcionality musíš najskôr vytvoriť HTML vstupný prvok a trochu JavaScriptu. Ďalej vysvetlím jednotlivé kroky.

Krok 1: HTML nastavenie

Najprv musíš vytvoriť HTML dokument obsahujúci vstupný prvok súboru. Pri tom použi správne ID, aby si naň neskôr mohol pristupovať.

Nahratie súboru a náhľad s JavaScriptom

Krok 2: Pridanie JavaScriptu

Na koniec svojho HTML dokumentu pridáš JavaScript skript. Týmto spôsobom môžeš získať prístup k vstupnému prvku a implementovať svoju logiku. Prvým krokom v skripte je získať vstupný prvok s metódou getElementById.

Nahrávanie súborov a náhľad pomocou JavaScriptu

Krok 3: Nastavenie Event Listenera

Teraz nastavíš Event Listener pre udalosť change. Táto udalosť sa aktivuje, keď je vybraný súbor. V rámci callback handlera sa zaoberáš vybranými súbormi.

Nahrávanie súborov a náhľad s JavaScriptom

Krok 4: Prístup k súborom

V callback funkcii získaš prístup k vybraným súborom cez vlastnosť files vstupného prvku. Táto vlastnosť vráti objekt podobný polu, ktorý obsahuje všetky vybrané súbory.

Nahrávanie súborov a náhľad s JavaScriptom

Krok 5: Prechádzanie a zobrazenie súborov

Je teraz čas prejsť každý vybraný súbor a zobraziť ho. Môžeš vytvoriť -element, ktorý zobrazí náhľad súboru pomocou funkcie URL.createObjectURL().

Nahrávanie súborov a náhľad s pomocou JavaScriptu

Krok 6: Prispôsobovanie veľkosti obrázkov

V tomto bode môžeš jednoducho prispôsobiť veľkosť obrázkov. Odporúčajú sa pevné hodnoty ako 100x100 pixelov alebo, ak chceš viac slobody, môžeš použiť pôvodnú výšku a šírku.

Nahrávanie súboru a náhľad s JavaScriptom

Krok 7: Spracovanie viacerých súborov

Systém by mal excelentne zvládať nielen jeden súbor, ale aj viacero vybratí súborov. Implementuj logiku na spracovanie každého súboru samostatne a zobrazenie na tvojej stránke.

Nahrávanie súborov a náhľad pomocou JavaScriptu

Krok 8: Implementácia náhľadu

Teraz môžeš zobraziť jednoduchý náhľad pre používateľov. Používateľ vidí okamžite, ktoré súbory vybral pred ich nahratím. Tým šetríš nielen používateľovi, ale aj zdroje servera.

Nahrávanie súborov a náhľad s JavaScriptom

Krok 9: Zobrazenie mena súboru ako Tooltipu

Pre lepšiu používateľskú skúsenosť môžeš integrovať názov súboru ako Tooltip do značky obrázka. To je obzvlášť užitočné, keď sa nahraje viac súborov.

Nahrávanie súborov a náhľad pomocou JavaScriptu

Krok 10: Overenie identifikácie

Je tiež dobrý nápad zabezpečiť, aby používatelia mohli identifikovať nahrané súbory tým, že pridáte názov pod každý obrázok alebo ako alt atribút k obrázkom.

Nahrávanie súborov a náhľad pomocou JavaScriptu

Zhrnutie

V tejto príručke ste sa naučili, ako pomocou JavaScriptu získať prístup k lokálnym súborom a zobraziť ich vo vašom webovom formulári. Môžete ovplyvniť veľkosť zobrazených obrázkov, pridať tooltipy a poskytnúť priateľský náhľad, všetko bez nahrávania súborov na server. Tieto schopnosti sú zásadné pre vykonávanie nahrávania súborov a interakcií v moderných webových aplikáciách.

Často kladené otázky

Ako získať prístup k vybraným súborom pomocou JavaScriptu?Môžete použiť vlastnosť files prvku Input na získanie prístupu k vybraným súborom.

Môžem lokalizovať nahrané súbory?Áno, môžete upraviť súbory lokálne, napríklad použitím prvku Canvas na generovanie miniatury.

Ako zobraziť náhľad vybraných súborov?Vytvorením prvkov -Element a nastavením src atribútu na generovanú Object-URL môžete zobraziť náhľad.

Môžem zobraziť názov súboru pod obrázkom?Áno, môžete pridať názov súboru pod obrázok alebo ho použiť ako alt atribút.

Môžem zvoliť viacero súborov naraz?Áno, môžete zvoliť viacero súborov pomocou príkazu multiple v prvku Input.