Å lese en fil og lese dens data kan gjøres på flere måter, men noen ganger er det best å bruke objektet \ api som støttes av nesten alle nettleserne. Det er grunnen til at FileReader API er et av de mest brukte objektene med Vanilla JavaScript for å lese innholdet i en fil.
Filleserobjekt
For å opprette en ny filleserobjekt må du først ringe FileReader () Konstruktør ved hjelp av "ny" nøkkelord. Etter det kan du begynne å bruke de forskjellige funksjonene til dette objektet. For å lære mer om denne konstruktøren kan du besøke de offisielle dokumentene av MDN ved å klikke her.
Fillesermetoder
Filleserobjektet kommer med mange forskjellige metoder som hjelper oss med å analysere dataene til filen som vi leser. Noen av metodene utføres automatisk av nettleserne og kalles for eksempel hendelsesbehandlermetoder, for eksempel "på Last()" Metoden blir automatisk påkalt når filleseren er ferdig med å lese innholdet i filen.
For å få tilgang til metodene til filleserobjektet bruker du en dot-operator “ .”. Noen av metodene og variablene som kan nås ved å bruke filleserobjektet er ::
Og mye mer som kan leses på deres offisielle dokumentasjons webside.
Fillesereksempel
For å demonstrere bruken av filleser -API -en, trenger vi en HTML -webside med et inndatafelt i type = ”fil”, Vi kan opprette dette ved hjelp av følgende linje i HTML -filen:
Dette vil gi oss følgende webside:
Merk: Vi brukte ikke noe ID- eller klasseattributt i inngangsfeltet, da vi refererer til vårt inngangsfelt ved hjelp av spørringsvelgeren.
For JavaScript -koden er det første vi skal gjøre å velge inndatafeltet ved å bruke spørringsvelgeren:
const input = dokument.querySelector ('input [type = "fil"]');Neste gang skal vi legge til en hendelseslytter av "endring" på vår variabel inngang, Det vil ringe en funksjon for å laste inn innholdet i filen ved å bruke følgende linje:
inngang.AddEventListener ("Endring", funksjon (e)Denne funksjonshendelseslytteren vil utføre hver gang Inngangskode Laster inn en fil, vi kan få tilgang til filen ved hjelp av “Input.fil" Array. For å vise detaljene i den lastede filen kan vi bruke følgende linje:
konsoll.logg (input.filer [0])Vi får følgende utgang på konsollen vår:
Inne i funksjonen skal vi opprette vårt filleserobjekt ved å bruke linjen:
const Reader = new FileReader ();Filen som jeg vil lese er en tekstfil, så her skal jeg bruke metoden Readastext av filleseren objekterer å analysere innholdet i filene som tekstdata ved å bruke følgende linjer:
leser.Readastext (input.filer [0]);Nå kan vi få tilgang til innholdet i filen vi leser og analysert ved å bruke leser.resultat. De på Last() Metoden kalles automatisk når filleserobjektet er ferdig med å lese filen, slik at vi kan vise innholdet i filen når den er ferdig med å lese ved å bruke følgende kommandoer:
leser.onload = funksjon ()Det komplette kodebiten er:
const input = dokument.querySelector ('input [type = "fil"]');Kjør filen og velg en tekstfil på din lokale maskin som denne:
Du vil observere følgende resultat på konsollen din:
Og der du går, har du lest innholdet i filen og skrevet dem ut på konsollen.
Arbeider med et bilde
For å lese et bilde og for å vise det på konsollen må du først lese filen med Readasdataurl Bruke følgende linje:
leser.ReadasDataurl (input.filer [0]);Og for å vise bildet på websiden din må du opprette en ny bildevariabel inne i på Last() Funksjon ved hjelp av følgende linjer:
leser.onload = funksjon ()Og så inne i dette på Last Funksjon, du kommer til å angi kilden til bildevariabelen som vi opprettet lik resultatet av filleserobjektet:
img.SRC = leser.resultat;Og sist skal vi legge til denne bildevariabelen til dokumentet ved å bruke følgende linje:
dokument.kropp.appendchild (img);Det komplette kodebiten er:
const input = dokument.querySelector ('input [type = "fil"]');Når du kjører filen, vil du ha følgende utdata:
Og der går du, nå vet du hvordan du skal jobbe med filleser -API for å lese filer på din lokale maskin
Konklusjon
File Reader API kommer som et innebygd API med Vanilla JavaScript og støttes av nesten alle nettlesere. Denne filleseren API returnerer oss et filleserobjekt som vi kan bruke for å lese innholdet i filen ved å velge analyseringsmetoden. I dette innlegget lærte vi om File Reader API, File Reader -objektet og hvordan du bruker filleserobjektet til å lese tekstfiler samt bildefiler. Vi viste til og med bildet i nettleseren ved å legge det inn i dokumentet.