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

218
Visualizações
Obtenga el tipo de archivo usando fs/node.js

Tengo una carpeta con pocos archivos y necesito obtener el tipo/extensión del archivo que coincida con el número que genero en mi variable num , entonces, ¿hay alguna forma de hacerlo?

Mi código actual es:

 fs.readdir(dir, (err, files) => { const num = (Math.floor(Math.random() * files.length) + 1).toString(); // here I need to get file type/extension }

la variable de files devuelve esto: ['1.jpg', '2.png', '3.gif']

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Para encontrar un archivo en una lista de archivos sin importar la extensión, use path.basename y path.extname en los archivos de la lista para cortar las extensiones. Para una sola búsqueda, use files.find() .

 const filename = files.find(x => path.basename(x, path.extname(x)) === num.toString())

Sin embargo, para fines de selección aleatoria, puede ser mejor simplemente tomar una entrada aleatoria de los files . La razón es que si todos los archivos están numerados secuencialmente (desde 1), es lo mismo, pero si no están todos numerados secuencialmente (desde 1), lo anterior puede fallar.

 const filename = files[num] // and take away + 1 from num
about 4 years ago · Juan Pablo Isaza Relatório

0

En lugar de hacer coincidir el nombre completo del archivo, puede generar un número aleatorio en ArrayList y obtener ese archivo.

 const fs = require("fs"); const path = require("path"); fs.readdir(__dirname, (err, files) => { const randomNum = Math.floor(Math.random() * files.length); // get the random file let randomFileName = files[randomNum]; console.log(randomFileName); /// Get unique exts const exts = [...new Set(files.map((name) => path.extname(name)))]; console.log(exts); const randomExt = Math.floor(Math.random() * exts.length); // Get file with random ext randomFileName = files.find((x) => path.extname(x) === exts[randomExt]); console.log(randomFileName); });
about 4 years ago · Juan Pablo Isaza Relatório
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