Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

127
Vistas
Manejar archivos con carpetas JS dragndrop en el navegador

Estoy tratando de hacer una función de carga de arrastrar y soltar JS con manejo de directorio.

Mi problema es acceder a los datos de los archivos en sí, como un archivo. Quiero los archivos en una matriz outFiles :

 var outFiles = new Array();

Supongamos que los archivos filelist están en la lista de archivos. Entonces hago esto:

 for (var i = 0, len = filelist.length ; i < len ; i++) { var item = filelist[i].webkitGetAsEntry(); if (item) { scanFiles(item); } }

Donde scanFiles trata los archivos de las carpetas de manera diferente:

 function scanFiles(item) { // item is dir if (item.isDirectory) { let directoryReader = item.createReader(); directoryReader.readEntries(function(entries) { entries.forEach(function(entry) { scanFiles(entry); }); }); } // item is file else if (item.isFile) { item.file(function(f){ outFiles.push(f.name); }); } }

Mi problema es que outFiles a veces está vacío y otras veces no.

Este es mi código real en esa etapa:

 console.log(outFiles); console.log(outFiles.length);

Y esto es lo que devuelve mi navegador:

 Array [] 0: "445ea31f.jpg" 1: "473cf800.webp" 2: "576fb63b.jpg" 3: "855a5d7c.png" 4: "873e4247.png" 5: "885dde4b.JPG" length: 6 ​<prototype>: Array []
 0

La matriz está llena (con el f.name para este ejemplo, pero tendré que poner la f completa) pero no puedo acceder a ella.

¿Por qué?

Y si no es así, ¿cómo obtengo una matriz de todos los elementos?

Gracias,

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda