Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

126
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda