Obter URL de download após a extensão de redimensionamento do firebase concluída

8

É isso que estou tentando alcançar, implementar a extensão de redimensionamento da imagem do firebase, fazer upload de uma imagem e, quando o redimensionamento estiver concluído, adicionar os polegares do dowloadUrl a um documento do Cloud Firestore. Esta pergunta me ajuda, mas ainda não consigo identificar os polegares e obter o URL de download, é isso que estou tentando até agora.

Nota: defino minha miniatura como raiz / polegar

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;
    }
});
Haniel Baez
fonte
Eu tive esse problema antes de usar a extensão e acabei usando uma URL assinada ... O problema era que o URL expiraria após cerca de uma semana, deixando as miniaturas em branco e inúteis ... Não sei por que não inclua documentação para isso na própria extensão. É bom gerar as miniaturas com facilidade, mas e quando se trata de armazenar o URL de download dessa miniatura no RTDT, por exemplo. Estou ansioso por uma resposta sólida sobre isso!
hugger

Respostas:

0

você precisa usar o filePath para verificar os polegares if(filePath.startswith('thumbs/'){...}

contentType possui os metadados de arquivos como tipo de imagem e etc. FilePath terá o caminho completo.

Siddhant Jaiswal
fonte