Obtenga la URL de descarga después de que se complete la extensión de cambio de tamaño de firebase


8

Esto es lo que estoy tratando de lograr, implementar la extensión de redimensionamiento de la imagen de Firebase, cargar una imagen, luego, cuando se complete el redimensionamiento, agregar los pulgares de dowloadUrl a un documento de Cloud Firestore. Esta pregunta me ayuda, pero aún no puedo identificar los pulgares y obtener la URL de descarga, esto es lo que he estado intentando hasta ahora.

Nota: configuré mi miniatura para que esté en la raíz / pulgares

const functions = require('firebase-functions');
const { Storage } = require('@google-cloud/storage');
const storage = new Storage();

exports.thumbsUrl = functions.storage.object().onFinalize(async object => {
    const fileBucket = object.bucket;
    const filePath = object.name;
    const contentType = object.contentType;
    if (fileBucket && filePath && contentType) {
        console.log('Complete data');
         if (!contentType.startsWith('thumbs/')) {
             console.log('This is not a thumbnails');
             return true;
         }
         console.log('This is a thumbnails');


    } else {
        console.log('Incomplete data');
        return null;
    }
});

Tuve este problema antes de usar la extensión, y terminé usando un URL firmado ... El problema con eso era que la URL caducaría después de aproximadamente una semana dejando las miniaturas en blanco e inútiles ... No sé por qué no lo hicieron. incluya documentación para esto en la extensión misma. Es bueno generar las miniaturas a gusto, pero ¿qué tal cuando se trata de almacenar la URL de descarga de esa miniatura en el RTDT, por ejemplo? ¡Espero una respuesta sólida sobre esto!
Hugger

Respuestas:


0

necesita usar filePath para verificar los pulgares if(filePath.startswith('thumbs/'){...}

contentType tiene los metadatos de archivos como tipo de imagen, etc. FilePath tendrá la ruta completa.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.