Estoy siguiendo un tutorial de Udemy firebase Udemy para crear una aplicación web firebase usando javascript y react. El material del curso está un poco desfasado. Quiero saber cómo cambiar la URL de la foto de un usuario: se registran con correo electrónico y contraseña, y tengo un gancho separado para manejar la información de registro.
A continuación se muestra el código que proporciona el curso de Udemy para actualizar la URL de la foto de un usuario. ¿Alguien sabe cómo escribiría esto en Firebase v9? ¡Gracias!
// upload user thumbnail const uploadPath = `thumbnails/${res.user.uid}/${thumbnail.name}` const img = await projectStorage.ref(uploadPath).put(thumbnail) const imgUrl = await img.ref.getDownloadURL() // add display AND PHOTO_URL name to user await res.user.updateProfile({ displayName, photoURL: imgUrl })Reescribir de una versión anterior a la v9 a la v9 suele ser bastante simple, especialmente si sigue la guía de actualización o compara los ejemplos de v8 y v9 en la documentación sobre la carga de archivos .
En su código, este código v8:
const uploadPath = `thumbnails/${res.user.uid}/${thumbnail.name}` const img = await projectStorage.ref(uploadPath).put(thumbnail) const imgUrl = await img.ref.getDownloadURL() // add display AND PHOTO_URL name to user await res.user.updateProfile({ displayName, photoURL: imgUrl })Se convierte en esto en v9 y superior:
const uploadPath = `thumbnails/${res.user.uid}/${thumbnail.name}` const img = await uploadBytes(ref(projectStorage, uploadPath, thumbnail)) const imgUrl = await getDownloadUrl(img.ref) // add display AND PHOTO_URL name to user await updateProfile(res.user, { displayName, photoURL: imgUrl }) Si observa atentamente, verá que la mayor parte del cambio es solo mover las llamadas al método object.operation() espacio de nombres a una forma de operation(object) modular/funcional. Aparte de eso, la mayor diferencia aquí es que put ahora se llama uploadBytes .