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

370
Views
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 answers
Answer question

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 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!