Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

376
Views
Cómo verificar si la ruta de una imagen es válida en JavaScript

Lo que quiero hacer:

Quiero agregar todas las imágenes dentro de una carpeta específica en una Lista. La cantidad de imágenes dentro puede variar entre 1 y 10, pero todas se nombran como números. La forma actual en que lo estoy haciendo es primero haciendo los 10 y luego eliminando los que no existen.

 List = [] for(var i=0; i<10; i++){ List.push('Folder/' + i+1 + 'jpg') } List = ['Folder/1.jpg', 'Folder/2.jpg', 'Folder/3.jpg'..]

Nota: no voy a alojar esto en ningún lado. Esto es algo que estoy haciendo solo para mí. Cuando quiera usar el sitio, simplemente abriré index.html desde la carpeta del proyecto.

Investigué un poco y esto pareció funcionar, pero solo mientras usaba el servidor en vivo en Visual Studio. Esto no funciona cuando simplemente se abre el archivo index.html localmente.

 function checkImage(){ temp_list = [] for(i=0; i<List.length; i++){ var http = new XMLHttpRequest(); http.open('HEAD', List[i], false); http.send(); if(http.status != 404){ temp_list.push(List[i]) } } List= temp_list

También probé esto, pero elimina todo en la Lista.

 function checkImage(){ temp_list = [] for(i=0; i<List.length; i++){ checkImage2(List[i]) } console.log(temp_list.length) List= temp_list } function checkImage2(path){ var img = new Image(); img.onload = temp_list.push(path) img.onerror = temp_list.splice(path,1) img.src = path }

Mi pregunta: ¿Hay una mejor manera de verificar si existe un archivo (img)?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede usar image.onerror para verificar si la imagen se carga correctamente.

 let images = ["invalid.jpg", "invalid2.jpg", "https://upload.wikimedia.org/wikipedia/en/thumb/8/80/Wikipedia-logo-v2.svg/1200px-Wikipedia-logo-v2.svg.png"] let workedimages = images.slice() images.forEach((item, index) => { let img = new Image() img.src = item img.onerror = () => workedimages.splice(workedimages.indexOf(item), 1) if (index == images.length - 1) { img.onload = () => console.log(workedimages) } })

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!