Jeg prøvde å åpne filen med
window.open("file:///D:/Hello.txt");
Nettleseren tillater ikke å åpne en lokal fil på denne måten, sannsynligvis av sikkerhetsgrunner. Jeg ønsker å bruke filens data på klientsiden. Hvordan kan jeg lese en lokal fil i JavaScript?
HTML5 fileReader-fasiliteten]1 lar deg behandle lokale filer, men disse MÅ velges av brukeren, du kan ikke rote rundt på brukerens disk på jakt etter filer.
Jeg bruker for øyeblikket dette med utviklingsversjoner av Chrome (6.x). Jeg vet ikke hvilke andre nettlesere som støtter det.
Javascript kan vanligvis ikke få tilgang til lokale filer i nye nettlesere, men XMLHttpRequest-objektet kan brukes til å lese filer. Så det er faktisk Ajax (og ikke Javascript) som leser filen.
Hvis du vil lese filen abc.txt
, kan du skrive koden som:
var txt = '';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(xmlhttp.status == 200 && xmlhttp.readyState == 4){
txt = xmlhttp.responseText;
}
};
xmlhttp.open("GET","abc.txt",true);
xmlhttp.send();
Nå inneholder txt
innholdet i filen abc.txt.