He intentado abrir el archivo con
window.open("file:///D:/Hello.txt");
El navegador no permite abrir un archivo local de esta manera, probablemente por razones de seguridad. Quiero utilizar los datos del archivo en el lado del cliente. ¿Cómo puedo leer el archivo local en JavaScript?
El HTML5 fileReader facility permite procesar archivos locales, pero éstos DEBEN ser seleccionados por el usuario, no se puede andar buscando archivos en el disco del usuario.
Actualmente uso esto con versiones de desarrollo de Chrome (6.x). No sé qué otros navegadores lo soportan.
Normalmente, Javascript no puede acceder a los archivos locales en los nuevos navegadores, pero el objeto XMLHttpRequest puede utilizarse para leer archivos. Así que en realidad es Ajax (y no Javascript) el que está leyendo el archivo.
Si quieres leer el archivo abc.txt
, puedes escribir el código como
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();
Ahora txt
contiene el contenido del archivo abc.txt.