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

371
Vistas
Eliminar una sola imagen de un foreach (Firebase Storage)

Tengo un forEach() que muestra un par de imágenes. Me gustaría que se eliminen si es necesario. Busco el src de la imagen y la ruta/nombre de archivo de la imagen de Firestore para mostrar con la imagen en mi sitio (se cargan en el almacenamiento y en Firestore).

¿Cómo identifico una sola imagen de todas ellas y elimino solo esa?

código js

 const i = query(collection(db, "teamImages")); const unsubscribe = onSnapshot(i, (querySnapshot) => { const teams = document.querySelector('.teamimages'); querySnapshot.forEach((doc) => { const docData = doc.data(); const article = teams.appendChild(document.createElement('article')); article.innerHTML = ` <p class="path"></p> <img class="team-image"> `; article.children[0].textContent = docData.path; article.children[1].src = docData.url; console.log("Current data: ", docData); }); document.getElementById("team-image").addEventListener("click", function deleteImage() { const filename = document.getElementById("path").innerHTML; if (confirm('Are you sure you want to delete this image')) { const imageDeleteRef = ref(storage, filename); // Delete the file deleteObject(imageDeleteRef).then(() => { // File deleted successfully & delete firestorm reference deleteDoc(doc(db, teamImage, filename)); }).catch((error) => { // Uh-oh, an error occurred! }); } else { // Do nothing! console.log('Image not deleted'); }; }); });

Las imágenes están en una sección de artículo (createElement).

Tuve algunos errores indefinidos y nulos cuando intenté ingresar cualquier código de eliminación de Firebase.

Simplemente no estoy seguro de cómo puedo definir el nombre del archivo de imagen para usar como referencia para eliminar el archivo.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema parece estar relacionado con la configuración y la obtención de datos para el almacenamiento.

Estás intentando construir la referencia usando

 'const imageDeleteRef = ref(storage, filename);'

Del fragmento no está claro qué es el almacenamiento, puede imprimir el
-almacenamiento
-Nombre del archivo
a la consola para verificar que está obteniendo el elemento adecuado.

Aquí está configurando los datos

 article.innerHTML = ` <p class="path"></p> <img class="team-image"> `; article.children[0].textContent = docData.path; article.children[1].src = docData.url;

esto producirá

 <p class="path">docData.path</p> <img class="team-image" src="{docData.url}">

Entonces estás tratando de conseguir

 "const filename = document.getElementById("path").innerHTML;"

Está utilizando https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById donde el nombre se establece en la clase denominada "ruta" y posiblemente debería usar

  • https://www.w3schools.com/jsref/met_document_getelementsbyclassname.asp

const filename = document.getElementsByClassName("ruta"),innerHTML;

O podrías cambiar la clase a id

de

 article.innerHTML = ` <p class="path"></p> <img class="team-image"> `;

a

 article.innerHTML = ` <p id="path"></p> <img id="team-image"> `;
about 4 years ago · Juan Pablo Isaza Denunciar
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