Tengo una extensión de imágenes de cambio de tamaño de Firebase que una vez que la imagen se carga en carpetas específicas (profilePhotos en mi caso) convierte esa imagen a un tamaño más pequeño (320x320 en mi caso) y simplemente agrega "_320x320" al final del nombre.
Inicialmente, tenía una función en la nube que creaba direcciones URL y actualizaba el documento correspondiente en firestore a través de getSignedUrl() hasta que me di cuenta de que todas las direcciones URL firmadas caducaban después de 7 días.
Así es como obtengo la URL de descarga de imágenes originales desde el front-end:
uploadTask.on( "state_changed", (snapshot) => { const progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100; setProgress(progress); }, (error) => { console.log("error" + error); }, () => { getDownloadURL(userUploadRef).then(async (downloadUrl) => { // code that updates the document in firestore by adding the urlSi sé que la única diferencia entre el nombre de la imagen original y el redimensionado es que uno termina en _320x320 , ¿puedo modificar la URL de descarga para obtener la URL de descarga de mi imagen? Si es así, ¿cómo puedo hacerlo?
Cambiar la URL de descarga solo funcionaría si el token de acceso se pasa de la imagen original a la imagen redimensionada, lo cual no estoy seguro si es así (la Extensión admitió eso en algún momento, pero recuerdo que hubo problemas con eso) .
El mejor enfoque sería determinar la URL de descarga para el nombre de la imagen redimensionada mediante una llamada separada a getDownloadURL con una referencia a la ruta correcta:
const storage = getStorage(); const resizedRef = ref(storage, 'images/stars_320x320.jpg'); getDownloadURL(resizedRef).then(...