Kako otvoriti lokalne datoteke u pregledniku pomoću file:///

Zadnje ažuriranje: 19/01/2026
Autor: Isaac
  • file:/// permite navegar por el sistema de archivos local desde el navegador en Windows y Android.
  • API za pristup datotečnom sustavu nudi napredne mogućnosti čitanja i pisanja u lokalne datoteke i direktorije.
  • Sigurnost se temelji na eksplicitnim korisničkim dopuštenjima i jasnoj kontroli nad time koje su rute izložene.
  • Postoje polifilovi i biblioteke koje kombiniraju ovaj API s klasičnim metodama kada nema izvorne podrške.

Otvorite lokalne datoteke u pregledniku pomoću file:///

Korištenje preglednika kao malog preglednika datoteka je moguće i, ako se pravilno koristi, može biti izuzetno korisno. Od otvaranja jednostavnog lokalnog dokumenta s file:/// do rada s moćnim File System Access API-jemDanas moderni preglednici nude mnogo više mogućnosti nego što ih inače koristimo.

Kroz ovaj vodič ćemo korak po korak vidjeti, kako otvoriti lokalne datoteke u web preglednik korištenje file:/// u Chromeu, Edgeu i FirefoxuKako pretvoriti svoj preglednik u osnovni preglednik datoteka na Windowsima i Androidu te kako programeri mogu ići korak dalje koristeći File System Access API za čitanje, pisanje i upravljanje lokalnim datotekama i mapama iz web aplikacije.

Što zapravo znači otvoriti lokalne datoteke s file:///

Kada napišete rutu koja počinje s file:/// u adresnoj traci preglednika, Govorite pregledniku da pristupi lokalnom datotečnom sustavu umjesto internetu.To jest, otvoriti nešto što se nalazi na vašem uređaju: tvrdi disk, interna memorija ili SD kartica.

Ova posebna shema URL-ova (file:///) Radi slično kao tipkanje C: u Windowsima ili / u Linux i macOSSamo je prilagođeno logici preglednika. Nakon toga, vidjet ćete svojevrsni popis mapa i datoteka, bez ikakvih suvišnih detalja: imena, veličine, datuma izmjene i malo čega drugog.

Naravno, mora se imati na umu da Preglednici tretiraju ove lokalne rute s mnogim sigurnosnim ograničenjima.Na primjer, web stranica koju posjećujete s interneta ne može, prema zadanim postavkama, slobodno čitati vaše lokalne datoteke samo zato što otvarate URL s file:///Uvijek je potrebna izričita gesta ili dopuštenje korisnika.

Korištenje preglednika kao preglednika datoteka na Androidu

Mnogi Android telefoni ne uključuju pristojan upravitelj datotekama od proizvođača ili je onaj koji dolazi unaprijed instaliran prilično ograničen. U tim slučajevima, Korištenje Chromea, Edgea ili nekog drugog preglednika temeljenog na Chromiumu kao improviziranog preglednika može vas izvući iz nevolje..

Trik je vrlo jednostavan: Otvorite svoj preglednik temeljen na Chromiumu (Chrome, Edge, Brave itd.) i upišite u adresnu traku datoteka: /// sdcard /Android identificira skladištenje glavni unutarnji kao sdcard, na vrlo sličan način na koji Windows koristi C: za glavni pogon.

Kada pokrenete tu adresu, preglednik će obično tražiti dopuštenje za čitanje interne memorije. Nakon što date to dopuštenje, pojavit će se indeks koji prikazuje korijenske mape vaše interne memorije.Odatle možete ulaziti i izlaziti iz mapa točno kao da pregledavate web stranicu s poveznicama.

U svakoj mapi vidjet ćete i podmape i datoteke. Datoteke se prikazuju s punim imenom, uključujući ekstenziju, veličinu i datum posljednje izmjene.Također su navedeni sljedeći: skrivene mape, koji u Androidu obično počinju točkom, kao što je .nomedia ili druge slične.

Iako je popis vrlo spartanski, Većina modernih preglednika može izravno otvoriti mnoge vrste datoteka dodirom na njih.Slike, videozapisi, audiozapisi, tekstualni dokumenti itd. Nema sličica ni pregleda, ali jednostavnim klikom na naziv datoteke preglednik će pokušati prikazati ili reproducirati datoteku.

Pretvorite Chrome i Edge u mali preglednik datoteka na vašem računalu

Na stolnim računalima, i na Windowsima i na drugim sustavima, Također možete koristiti Chrome, Edge i druge preglednike temeljene na Chromiumu za navigaciju lokalnim diskovima pomoću file:///Princip je isti kao u Androidu, ali je put drugačiji.

Ako koristite Windows, primarni pogon je najčešće C:. U tom slučaju, upišite u adresnu traku datoteka:///C: i pritisnite EnterPreglednik će vam prikazati sadržaj korijenske mape tog pogona: mape kao što su Windows, Program Files, Usuarios, Itd

Ako imate više diskova ili particija, Slovo u URL-u možete zamijeniti odgovarajućim., Na primjer, file:///D: za drugi album ili file:///E: za uspomenu USB da je montiran s tim slovom. Od tamo kliknite na mape za pomicanje naprijed i upotrijebite gumb za povratak u pregledniku za povratak.

Baš kao i na Androidu, U svakoj mapi vidjet ćete datoteke i podmape s vidljivom veličinom, datumom izmjene i ekstenzijomNe generira sličice ili lijepe ikone, ali je dovoljan za lociranje određene datoteke ili brz pregled strukture direktorija.

Većina Chromium preglednika Omogućuju vam izravno otvaranje multimedijskih datoteka, pa čak i nekih formata dokumenata. Jednostavnim klikom na njih. Slike, videozapisi, audiozapisi ili obične tekstualne datoteke prikazuju se sasvim prirodno unutar kartice.

Otvorite lokalne datoteke u Chromeu i Firefoxu bez ručnog tipkanja file:///

Osim tipkanja ruta s file:///Preglednici uključuju prečace posebno dizajnirane za brzo otvaranje lokalnih datoteka. U Chromeu, na primjer, možete koristiti tipkovni prečac Ctrl + O (Control + O) kada je prozor preglednika aktivan.

Pritiskom na taj prečac, Otvara se tipični dijaloški okvir "Otvori datoteku" operativnog sustavaJednostavno pronađite željenu datoteku, odaberite je i potvrdite. Chrome će je učitati u trenutnu karticu ili novu, ovisno o vrsti datoteke i vašim postavkama.

Firefox nudi nekoliko opcija. S jedne strane, Možete otići u glavni izbornik i odabrati opciju "Otvori datoteku..."što radi potpuno istu stvar: prikazuje prozor za odabir datoteka sustava. Alternativno, možete izravno upisati putanju poput ove u adresnu traku: file:///// tako da preglednik započinje prikazivanjem sadržaja pogona C: u sustavu Windows.

S bilo kojom od ovih metoda, Praktični rezultat je da preglednik postaje lokalni preglednik datoteka.Može vam pomoći kada Windows Explorer Zamrzava se kada imate problema s uobičajenim upraviteljem datoteka ili jednostavno kada želite otvoriti vrstu dokumenta koju preglednik posebno dobro obrađuje.

  Kako otvoriti .md datoteku i raditi s Markdownom korak po korak

API za pristup datotečnom sustavu: skok od preglednika do uređivača

Sve što smo do sada vidjeli temelji se na "ručnom" korištenju file:/// i dijaloških okvira za otvaranje datoteka, odnosno stvari koje korisnik radi ručno. No već neko vrijeme preglednici temeljeni na Chromiumu uključuju API za pristup datotečnom sustavu, što web aplikacijama omogućuje rad s lokalnim datotekama na puno napredniji način.

Ovaj API omogućuje web stranici, nakon što zatraži vaše dopuštenje, Čitajte i spremajte promjene izravno u datoteke i mape na svom uređajuZahvaljujući tome, ozbiljni tekstualni editori i IDE-ovi mogu se kreirati izravno iz preglednika. programiranje, uređivače fotografija i videa, voditelje projekata i mnoge druge alate koje je prije imalo smisla razvijati samo kao desktop aplikacije.

Važno je ne miješati ovaj moderni API sa starijim ili zastarjelim. Nije isto što i sučelje FileSystem niti API za datoteke i unose direktorija niti stara specifikacija „API za datoteke: Direktoriji i sustav“, koji je predložio druge mehanizme za rukovanje hijerarhijama datoteka i područjima za pohranu u sandboxu.

Trenutni API za pristup datotečnom sustavu Dizajniran je s posebnom pažnjom u pogledu sigurnosti, dozvola i korisničkog iskustva.Uvijek su potrebne eksplicitne radnje (poput klika na gumb) za otvaranje birača datoteka ili direktorija, a korisniku su uvijek jasne točne putanje kojima odobrava pristup.

Što se tiče kompatibilnosti, API radi u većini preglednika temeljenih na Chromiumu na Windowsima, macOS-u, Linuxu, ChromeOS-u i Androidu.Značajna iznimka je Brave, gdje je i dalje potrebno aktivirati zastavicu da bi se koristila. Drugi preglednici koji nisu Chromium možda je neće implementirati ili će je implementirati samo djelomično.

Provjerite podržava li preglednik API za pristup datotečnom sustavu

Kao programer, prvo što želite znati je podržava li korisnikov preglednik ovaj API prije nego što ga pokušate koristiti. Najjednostavniji način je provjeriti postoje li odgovarajuće metode odabira datoteka u globalnom objektu.na primjer, provjerom je li showOpenFilePicker je dostupan u window (o self kod radnika).

Tipičan obrazac se sastoji od nečega ovakvog: „Ako je 'showOpenFilePicker' postavljen na self, tada mogu koristiti API; u suprotnom, moram se poslužiti alternativnom metodom.“To omogućuje implementaciju hibridnih rješenja gdje se, ako postoji podrška, iskorištavaju prednosti API-ja, a ako nema podrške, koriste se tradicionalne tehnike poput obrazaca za prijenos datoteka.

To je također dobra ideja Testirajte na ciljnim preglednicima i na različitim OSJer iako je baza Chromium, neki proizvođači mogu omogućiti ili onemogućiti određene značajke iz sigurnosnih, političkih ili performansnih razloga.

Prvi primjer: otvaranje lokalne datoteke iz web aplikacije

Jedan od kanonskih primjera za razumijevanje ovog API-ja je izgradnja uređivač teksta za jednu datoteku koji vam omogućuje otvaranje, mijenjanje i spremanje dokumentaNe mora biti spektakularno: sve dok čita i piše običan tekst, već ilustrira kako funkcionira.

Ulazna točka ovdje je metoda window.showOpenFilePicker(). Ova metoda, koja se može pozvati samo u sigurnom kontekstu (HTTPS) i kao odgovor na gestu korisnikaPrikazuje izvorni dijalog za korisnika za odabir datoteke. Nakon odabira, vraća niz ručki, obično s jednom FileSystemFileHandle.

Taj handle pohranjuje sve informacije i metode potrebne za rad s odabranom datotekom. Dobra je ideja spremiti referencu na handle jer ćete ga kasnije koristiti za čitanje datoteke, spremanje promjena ili izvođenje bilo koje druge operacije.Sve dok održavate taj identifikator i korisnik nije opozvao dozvole, vaša će aplikacija moći komunicirati s datotekom.

Nakon što dobijete FileSystemFileHandle, možete dobiti objekt File pravi poziv handle.getFile()Ovaj objekt File Sadrži podatke datoteke kao blob, a njegovom sadržaju možete pristupiti pomoću metoda kao što su text(), arrayBuffer(), stream() o slice() ako vam je potreban slučajni pristup.

U praksi, za jednostavan uređivač teksta, uobičajena stvar je koristiti file.text() dobiti cijeli sadržaj kao niz znakovai stavite taj tekst u <textarea> kako bi ga korisnik mogao uređivati. Važno je napomenuti da objekt File Prestaje biti valjan ako se datoteka modificira na disku na drugi način, u kojem slučaju je preporučljivo ponovno pozvati. getFile().

Spremi promjene: zapiši u lokalni datotečni sustav

Za spremanje onoga što je korisnik uredio, API nudi dva tipična puta: "jednostavno" spremanje koje prepisuje izvornu datoteku i "Spremi kao" koje stvara novu datotekuTemeljna razlika je u tome imate li već identifikator odredišne ​​datoteke ili trebate da korisnik odabere novu putanju i ime.

Kada želite stvoriti novu datoteku ili spremiti kopiju s drugim imenom, trebali biste koristiti showSaveFilePicker()Ova metoda otvara birač datoteka u spremljenom načinu rada, omogućujući korisniku da odredi naziv, mapu i ekstenziju. Možete pružiti opcije za predlaganje vrsta datoteka, na primjer, naznačiti da se radi o tekstualnom dokumentu i da je preferirana ekstenzija . .txt.

Važan detalj je taj Trebao bi nazvati showSaveFilePicker() izravno kao odgovor na korisnikovu gestu (na primjer, klikom na gumb "Spremi") i nemojte to odgađati dok obavljate zahtjevnu obradu. Ako obavite sav preliminarni rad, a zatim, sa zakašnjenjem, pokušate otvoriti dijalog, preglednik bi mogao izbaciti sigurnosnu pogrešku jer više ne smatra da "obrađujete korisničku gestu".

Nakon što imate FileSystemFileHandle pokazujući na datoteku u koju želite spremiti, Sljedeći korak je stvaranje FileSystemWritableFileStream pomoću fileHandle.createWritable()Ovaj stream ćete koristiti za pisanje podataka. Ako preglednik otkrije da još nemate dopuštenje za pisanje, prikazat će dijaloški okvir za dopuštenja; ako korisnik to odbije, poziv će izbaciti iznimku.

S potokom u ruci, Jednostavno nazoveš writable.write(contenido) s nizom znakova, Blobom ili BufferSourceČak možete izravno proslijediti tijelo HTTP odgovora u stream pomoću response.body.pipeTo(writable)Kada završite s tipkanjem, zatvarate prijenos s writable.close(), što je trenutak kada se promjene konsolidiraju na disku.

  Canvaspaint.org: Sve o online klonu programa Paint i njegovim mogućnostima u vašem pregledniku.

Dok je stream otvoren, možete koristiti i metode kao što su seek() o truncate() za pomaknite pokazivač pisanja na određenu poziciju ili promijenite veličinu datotekeNo važno je zapamtiti da se promjene trajno ne primjenjuju dok se stream ne zatvori.

Predloži korisniku naziv datoteke i početnu mapu

API se također brine za korisničko iskustvo u dijaloškim okvirima sustava. Na primjer, Možete navesti predloženi naziv datoteke kada pozivate showSaveFilePicker()To korisniku omogućuje da vidi nešto opisnije, poput "Novi dokument.txt", umjesto generičkog "Bez naslova".

slično tome, Moguće je predložiti početnu mapu u kojoj počinje birač datoteka.To se postiže prosljeđivanjem svojstva startIn kada zoveš showSaveFilePicker(), showOpenFilePicker() o showDirectoryPicker()Vrijednosti mogu biti nizovi znakova poput desktop, documents, downloads, music, pictures o videos, što odgovara standardnim lokacijama sustava.

Također, imate mogućnost koristiti kao vrijednost startIn upravitelj datoteka ili direktorija koji već imateU tom slučaju, dijaloški okvir se otvara izravno u mapi u kojoj se nalazi taj identifikator, što je vrlo praktično za nastavak radnog konteksta posljednje sesije.

Ako vaša aplikacija obrađuje različite vrste datoteka (na primjer, tekstualne dokumente i ugrađene slike), Za svaku vrstu dijaloškog okvira možete definirati različite ID-oveNa taj način, preglednik će neovisno pamtiti posljednju korištenu mapu za svaki ID i nećete miješati putanje dokumenata s putanjama slika.

Zapamtite nedavne datoteke i mape pomoću IndexedDB-a

Jedna od prednosti pristupa datotečnom sustavu je ta što se njegovi rukovatelji mogu serijalizirati. To znači da možete pohraniti FileSystemFileHandle y FileSystemDirectoryHandle u IndexedDB-u i dohvatiti ih u sljedećim sesijama, uvijek poštujući pravila o dozvolama.

Zahvaljujući tome, web aplikacije mogu ponuditi tipične funkcionalnosti stolnih računala kao što su popisi nedavno korištenih datoteka, ponovno otvaranje posljednjeg projekta ili oporavak prethodne radne mapeSamo trebate spremiti ručke u bazu podataka preglednika i pročitati ih kada se aplikacija pokrene.

Kada dohvatite pohranjeni handle, Nemojte pretpostavljati da će dozvole ostati na snazi.Preglednik može odlučiti da je potrebno ponovno zatražiti autorizaciju, na primjer zato što je prošlo vrijeme ili je posljednja kartica iz tog izvora zatvorena. Stoga se preporučuje da vaš kod provjeri ovu situaciju.

Za ovu provjeru, API uključuje metode queryPermission() y requestPermission() i u rukovateljima datotekama i direktorijimaPrvo pitate u kojem je statusu dopuštenje, a ako nije "odobreno", možete ga ponovno zatražiti od korisnika, navodeći u opcijama treba li vam samo čitanje ili čitanje i pisanje.

Dobra praksa je kombinirajte oba koraka u jednu funkciju pomoći S obzirom na zadani identifikator i način rada (samo za čitanje ili čitanje/pisanje), trebao bi provjeriti je li dopuštenje već odobreno i, ako nije, prikazati odgovarajući upit. To smanjuje broj dijaloga i olakšava rad.

Otvaranje i pregledavanje cijelih direktorija iz preglednika

Osim pojedinačnih datoteka, API omogućuje rad s cijelim mapama. s showDirectoryPicker() korisnik može odabrati cijeli direktoriji aplikacija prima FileSystemDirectoryHandle što omogućuje pristup svim njegovim elementima.

Prema zadanim postavkama imat ćete dopuštenje za čitanje datoteka u tom direktoriju, iako ako trebate i pisati u njih Pristup za čitanje i pisanje možete zatražiti slanjem { mode: 'readwrite' } prilikom poziva showDirectoryPicker()Od tog trenutka nadalje, vaša aplikacija može popisivati ​​i manipulirati sadržajem u skladu s danim dopuštenjem.

Za navigaciju kroz mapu, Možete asinhrono iterirati preko dirHandle.values()koji vraća, jedan po jedan, elemente koje sadrži: datoteke i poddirektorije. Svaki unos ima svojstvo kind koji vam govori je li to "file" ili "directory".

Ako trebate pristupiti informacijama o svakoj datoteci, kao što je njezina veličina, možete pozvati entry.getFile(). U tim slučajevima preporučuje se paralelno izvođenje očitanja pomoću Promise.all() ili slične tehnike, umjesto da idemo jedan po jedan strogo sekvencijalno, što može biti sporije.

To možete učiniti i iz direktorija stvarajte nove mape ili datoteke pomoću getDirectoryHandle() y getFileHandle()U opcijama možete odrediti želite li da se kreiraju ako već ne postoje. Na primjer, možete postaviti strukturu projekta poput "Moj projekt / Kod / Bilješke.txt" izravno iz web aplikacije.

Upravljanje datotekama: brisanje, preimenovanje i premještanje

API nije ograničen samo na čitanje i pisanje. Također vam omogućuje brisanje datoteka i mapa iz direktorija pomoću removeEntry() preko FileSystemDirectoryHandleAko se radi o mapi, brisanje možete učiniti rekurzivnim, tako da uključuje sve njezine podmape i datoteke.

Ako umjesto pregledavanja direktorija želite izravno djelovati na identifikator datoteke ili mape, Neki preglednici nude ovu metodu remove() en FileSystemFileHandle y FileSystemDirectoryHandleNa ovaj način uklanjate taj element bez potrebe da se pozivate na njegovo ime unutar nadređenog direktorija.

Za organizacijske operacije poput preimenovanja ili premještanja stavki u drugu mapu, Postoji metoda move() u sučelju FileSystemHandleMožete mu izravno proslijediti novo ime, odredišni direktorij ili direktorij plus novo ime za istovremeno premještanje i preimenovanje.

Međutim, postoje nijanse kompatibilnosti: podrška move() Zreliji je za datoteke unutar izvornog privatnog datotečnog sustava (OPFS).i možda još uvijek ima zastavice ili nije implementirano za sve scenarije ili za direktorije u određenim preglednicima.

Povucite i ispustite datoteke i mape na web

API za pristup datotečnom sustavu vrlo se dobro integrira s HTML-ovim sustavom povlačenja i ispuštanja. Kada korisnik povuče datoteke ili mape iz operativnog sustava na web stranicuPreglednik stvara elemente DataTransferItem suradnici.

Kroz metodu DataTransferItem.getAsFileSystemHandle(), možete dobiti FileSystemFileHandle je li element datoteka ili FileSystemDirectoryHandle ako je to direktorijDakle, aplikacija može omogućiti korisniku da povuče i ispusti cijelu mapu s fotografijama i izravno radi na njenom sadržaju.

Treba imati na umu da, u kontekstu povlačenja i ispuštanja, DataTransferItem.kind Uvijek će biti "datoteka" i za datoteke i za mape.Razliku između datoteke i direktorija dobit ćete konzultiranjem svojstva kind del FileSystemHandle to ti vraća getAsFileSystemHandle()koji će razlikovati između "file" y "directory".

Sustav privatnih izvornih datoteka (OPFS) i optimizirani pristup

Osim pristupa korisnikovim datotekama i mapama, Chromium preglednici nude i izvorni privatni datotečni sustav (OPFS)Ovo je prostor za pohranu namijenjen svakoj web stranici, kojem korisnik nije izravno dostupan iz operativnog sustava.

  Lokalna telemetrija s PerfMonom i skupovima za prikupljanje podataka na Windowsima

U praksi to znači da Iako preglednik interno pohranjuje ove podatke na disk, korisnik ih neće pronaći kao "normalne" datoteke ni u jednoj staroj mapi.To može biti baza podataka, pakirane datoteke ili bilo koja unutarnja struktura koju preglednik smatra prikladnom.

Iz API-ja možete pristupiti korijenu ovog privatnog sustava pomoću navigator.storage.getDirectory(), koji vraća FileSystemDirectoryHandle. Odatle možete stvarati datoteke i direktorije, čitati ih, pisati u njih, preimenovati ih ili brisati kao da su elementi lokalnog datotečnog sustava.Ali znajući da su izolirani i posvećeni isključivo vašoj web aplikaciji.

Za naprednije potrebe performansi, Chromium uključuje posebnu vrstu datoteke s optimiziranim sinkronim pristupom, preko fileHandle.createSyncAccessHandle() (dostupno u workerima), možete dobiti handle koji omogućuje sinkrono i ekskluzivno čitanje i pisanje, što je korisno za vrlo intenzivne ili na latenciju osjetljive slučajeve upotrebe.

Dobivanje ručke je i dalje asinhrono, ali nakon što je dobijete, Operacije čitanja i pisanja izvode se kao izravni pozivi, manipulirajući bajtnim međuspremnicima.Ovo je vrlo blizu performansama izvorne aplikacije, ali bez napuštanja web okruženja i održavanja izolacije od privatnog izvornog sustava.

Polyfill-ovi i alternative kada nema izvorne podrške

Iako API za pristup datotečnom sustavu nudi mnogo mogućnosti, Još ga ne podržavaju svi pregledniciNije moguće stvoriti potpuni polyfill koji replicira sve njegove mogućnosti, uglavnom zato što ne postoji način pouzdanog simuliranja pristupa izvornom datotečnom sustavu bez suradnje samog preglednika.

Međutim, neki dijelovi se mogu približno odrediti. Oponašati showOpenFilePicker() jednostavan <input type="file">, koji prikazuje okvir za odabir datoteka i omogućuje korisniku odabir jedne ili više datoteka.

Nešto slično se događa i sa štednjom. Imitirati showSaveFilePicker() često se koristi poveznica <a download="nombre"> Klikom na njega pokreće se preuzimanje Bloba generiranog iz JavaScripta. To vam omogućuje "spremanje" podataka koje generira web stranica, iako ne nudi mogućnost prepisivanja postojećih datoteka.

Što se tiče odabira cijelih direktorija, Nestandardni atribut se tradicionalno koristio webkitdirectory en <input type="file">što vam omogućuje odabir mape i primanje popisa datoteka koje ona sadrži. Nije univerzalno rješenje niti je toliko moćno kao showDirectoryPicker()ali pokriva neke slučajeve.

Kako bi se ujedinili ovi pristupi, Postoje knjižare poput pristup-fs-u-pregledniku Pokušavaju koristiti moderni API kad god je dostupan, a ako nije, automatski se vraćaju tim boljim alternativama.Na taj način, programer piše relativno ujednačen kod, a biblioteka se brine o prilagodbi okruženju.

Sigurnost, dozvole i korisnička kontrola

Sva ta moć dolazi s odgovornostima, a timovi preglednika su toga itekako svjesni. Dizajn API-ja za pristup datotečnom sustavu vrti se oko dva načela: korisničke kontrole i transparentnosti.Nema šanse da web stranica može tajno pročitati pola tvrdog diska.

Kada korisnik otvori datoteku koristeći okvire za odabir (bilo za čitanje ili za spremanje nove), To je gesta koja daje dopuštenje za čitanje ili pisanje određene datoteke ili mape.Ako korisnik promijeni mišljenje i otkaže dijalog, web stranica ne dobiva ništa i stoga ne dobiva nikakav pristup.

Za spremanje nove datoteke kliknite okvir "Spremi" Ne samo da vam omogućuje odabir imena i putanje, već služi i kao dodjela prava pisanja za tu novostvorenu datoteku.Logika je ista kao ona koja se godinama koristi u elementima kao što su <input type="file">ali proširen s više mogućnosti.

Kada web aplikacija želi izmijeniti datoteku koja već postoji, Ne može to jednostavno učiniti; preglednik može prikazati posebnu obavijest u kojoj se traži dopuštenje za pisanje u njega.Ovaj dijalog može se otvoriti samo kao odgovor na radnju korisnika, kao što je pritisak gumba "Spremi promjene".

Ako korisnik odluči ne dati tu dozvolu za pisanje, Web stranica mora nuditi neku alternativu: preuzimanje kopije, spremanje u oblak, rad u OPFS-u ili neki drugi sličan mehanizam.Ideja je da korisnik uvijek ima zadnju riječ o tome što se mijenja na njegovom lokalnom sustavu.

Što se tiče transparentnosti, Preglednici prikazuju ikonu u adresnoj traci kada web-mjesto ima pristup lokalnim datotekamaAko korisnik klikne na tu ikonu, vidjet će popis datoteka ili mapa kojima stranica ima pristup u tom trenutku i može opozvati dozvole kad god želi.

Dozvole nisu trajne. Općenito, stranica zadržava mogućnost spremanja datoteka samo dok je otvorena barem jedna kartica iz tog izvora.Nakon što su svi zatvoreni, preglednik može smatrati da je sesija završena i pri sljedećoj upotrebi bit će potrebno ponovno zatražiti dopuštenje za te datoteke ili direktorije.

Kombiniranjem sheme file:/// za otvaranje određenih resursa, tipkovni prečaci za prijenos lokalnih datoteka i API za pristup datotečnom sustavu za duboke integracije Zbog toga je preglednik mnogo svestraniji alat i za korisnike i za programere.što vam omogućuje brz pregled videozapisa spremljenog na disku ili uređivanje cijelih projekata bez napuštanja web okruženja.

Izradite lagani HTTP poslužitelj u PowerShellu za lokalno testiranje
Povezani članak:
Izradite lagani HTTP poslužitelj u PowerShellu za lokalno testiranje