Pokúsil som sa otvoriť súbor pomocou
window.open("file:///D:/Hello.txt");
Prehliadač neumožňuje otvoriť lokálny súbor týmto spôsobom, pravdepodobne z bezpečnostných dôvodov. Chcem použiť údaje súboru'na strane klienta. Ako môžem čítať lokálny súbor v jazyku JavaScript?
Zariadenie HTML5 fileReader umožňuje spracúvať miestne súbory, ale tie MUSIA byť vybrané používateľom, nemôžete hľadať súbory na disku používateľa.
V súčasnosti to používam vo vývojových verziách prehliadača Chrome (6.x). Neviem, ktoré iné prehliadače to podporujú.
Javascript v nových prehliadačoch zvyčajne nemôže pristupovať k lokálnym súborom, ale na čítanie súborov možno použiť objekt XMLHttpRequest. Takže v skutočnosti je to Ajax (a nie Javascript), ktorý číta súbor.
Ak chcete čítať súbor abc.txt
, môžete kód napísať takto:
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();
Teraz txt
obsahuje obsah súboru abc.txt.