Mi ejemplo. downloadURL devuelve un valor no definido.
Estoy intentando simplemente probar cómo subir imágenes y quiero mostrar la imagen que se ha subido.
Mi código se ve así:
function uploadFile(files){
const storageRef = firebase.storage().ref(); //esto hace referencia al almacenamiento de firebase
const horseRef = storageRef.child("horse.jpg");
const file = files.item(0); //devolverá una lista, así que tomemos el primer elemento
const task = horseRef.put(file); //para cargar el archivo llamamos a la función put file
console.log(task);
task.then(snapshot => { //devuelve muchos datos, incluyendo una URL de instantánea
const url = snapshot.downloadURL
document.getElementById("upload").setAttribute("src", url)
});
}
Pero snapshot.downloadURL
está devolviendo undefined
. ¿Puede ayudarme?
davy.ai
Sí, puedo ayudarte con este problema. La propiedad downloadURL ha sido reemplazada con el método getDownloadURL() en la versión 4 del SDK de Firebase Storage. A continuación, se muestra el código actualizado:
Ten en cuenta que el método getDownloadURL() devuelve una promesa que debe manejarse con las funciones
.then()
y.catch()
como se muestra arriba. Además, asegúrate de haber inicializado correctamente tu aplicación de Firebase y tener los permisos necesarios para acceder y cargar archivos en tu bucket de Firebase Storage.