Foros del Web » Programando para Internet » Javascript »

Leer un fichero dado con javaScript

Estas en el tema de Leer un fichero dado con javaScript en el foro de Javascript en Foros del Web. Hola. Tengo el problema de que quiero leer el contenido de un fichero de texto almacenado en el disco duro. El caso es que he ...
  #1 (permalink)  
Antiguo 17/12/2016, 09:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 33
Antigüedad: 13 años, 7 meses
Puntos: 0
Leer un fichero dado con javaScript

Hola. Tengo el problema de que quiero leer el contenido de un fichero de texto almacenado en el disco duro. El caso es que he podido hacerlo con un botón tipo input tipo file, es decir, eligiendo yo que archivo cargar. Pero lo que yo quiero hacer es darle en el código el nombre del archivo para que lo abra sin tener que elegirlo.

Código:
function processFiles(files) {
     file=files[0];

     var file;
     var reader = new FileReader();

		reader.onload = function (e) {	};

		reader.readAsText(file);
}

Código:
<input id="fileInput" type="file" size="50" onchange="processFiles(this.files)">
Todo esto va bien, pero yo quiero quitar la etiquete <input> y decirla a la funcion processFiles que me abra directamente el archivo "datos.txt". Estoy intentandolo creando un objeto tipo File pero no lo consigo. Haber si alguien me echa una mano. Gracias.

Gracias
  #2 (permalink)  
Antiguo 17/12/2016, 13:05
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 9 años, 5 meses
Puntos: 91
Respuesta: Leer un fichero dado con javaScript

lo unico que tendrias que hacer es ejecutar la funcion directamente, escribiendole el archivo que abrira sin necesidad del input ;)

Código Javascript:
Ver original
  1. processFiles("datos.txt");
eso tiene que ir debajo de la funcion ;)
  #3 (permalink)  
Antiguo 17/12/2016, 13:49
 
Fecha de Ingreso: septiembre-2010
Mensajes: 33
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Leer un fichero dado con javaScript

Ya lo he intentado pero no funciona. Creo que el objeto FileReader no puede recibir un texto. Pero no se si podrá recibirlo alguna de sus propiedades o métodos. No lo encuentro.
  #4 (permalink)  
Antiguo 17/12/2016, 14:25
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Leer un fichero dado con javaScript

No será que tienes que poner la dirección completa?
  #5 (permalink)  
Antiguo 17/12/2016, 14:29
 
Fecha de Ingreso: septiembre-2010
Mensajes: 33
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Leer un fichero dado con javaScript

También lo he intentado pero nada. Creo que no recibe String.
  #6 (permalink)  
Antiguo 17/12/2016, 15:02
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Leer un fichero dado con javaScript

El problema es que la data no es del tipo blob, sino string. Se me ha ocurrido que se puede incluir el archivo *txt. El texto ha de estar contenido en una variable
archivo.txt
Código txt:
Ver original
  1. variable = 'Este es el texto que será mostrado<br>una vez que haya sido leído';
Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2. <html dir="ltr" lang="es-es">
  3.     <head>
  4.         <title></title>
  5.         <meta charset="utf-8">
  6.         <meta name="viewport" content="user-scalable=yes, width=device-width, initial-scale=1">
  7.         <style>
  8.  
  9.         </style>
  10.         <script src="archivo.txt"></script>
  11.         <script>
  12.             window.addEventListener('load', function() {
  13.  
  14.                 document.getElementById('mostrar').innerHTML = variable;
  15.  
  16.             }, false);
  17.         </script>
  18.     </head>
  19.     <body>
  20.         <div id="mostrar"></div>
  21.     </body>
  22. </html>
  #7 (permalink)  
Antiguo 17/12/2016, 15:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 33
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Leer un fichero dado con javaScript

Es una posible solución, pero yo tengo en mi archivo datos distintos en cada linea. Si hago esto, tendría que poner variables en todos las lineas de mi fichero y tendría que jugar con esas variables. Además estoy hablando de un fichero de mas de 500 lineas o registros en cada linea. De la manera que puse al principio leo la linea que quiero y lo hace bien. El problemas es que quiero que sea un fichero fijo, y no que tenga que elegirlo con el
Código:
<input id="fileInput" type="file"
, es decir, no quiero tener que darle a un botón para elegir el archivo. El archivo es siempre el mismo. No logro hacer que el objeto FileReader lea el archivo que yo le digo en el código. Solo lo logro si lo selecciono con un
Código:
<input id="fileInput" type="file"
.
  #8 (permalink)  
Antiguo 17/12/2016, 16:19
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Leer un fichero dado con javaScript

Evidentemente lo que quieres hacer no es posible por motivos de seguridad. O aplicas lo que te sugerí anteriormente o usas un iframe - se me ocurre ahora
  #9 (permalink)  
Antiguo 17/12/2016, 17:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 33
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Leer un fichero dado con javaScript

¿Seguro de eso? ¿Lo puedo hacer coun un fileInput y con drag and drop y no lo puedo hacer con un String con el nombre del archivo? Me parece eso un poco raro.
  #10 (permalink)  
Antiguo 17/12/2016, 17:45
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Leer un fichero dado con javaScript

Eso se produce a raíz de acciones del usuario. Pongámonos en el supuesto que se puede realizar, ¿quién evita que alguien te robe archivos de tu equipo? Desde un input file pido un archivo .jpg, .mp4, etc y re tú tienes en tu equipo un archivo con ese nombre, extensión y directorio. Ahora puedo robarlo fácilmente
  #11 (permalink)  
Antiguo 19/12/2016, 09:32
 
Fecha de Ingreso: octubre-2009
Mensajes: 305
Antigüedad: 14 años, 6 meses
Puntos: 29
Respuesta: Leer un fichero dado con javaScript

no puedes elegir directamente la ubicación del archivo, porque javascript se ejecuta en un sandbox seguro, sólo el usuario puede proporcionar el archivo, es parte de las restricciones aplicadas en HTML5, si no imaginate, cualquier pagina web te podría leer toda tu información.

Etiquetas: dado, fichero, funcion, input, text
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:23.