Holen Sie sich die Download-URL, nachdem die Größenänderungserweiterung von firebase abgeschlossen wurde


8

Dies ist, was ich erreichen möchte, implementieren Sie die Bilderweiterung für die Größenänderung der Firebase, laden Sie ein Bild hoch und fügen Sie nach Abschluss der Größenänderung die Daumen dieses DowloadUrl einem Cloud Firestore-Dokument hinzu. Diese Frage hilft mir, kann aber immer noch nicht die Daumen identifizieren und die Download-URL erhalten. Dies ist, was ich bisher versucht habe.

Hinweis: Ich habe mein Miniaturbild auf root / thumbs eingestellt

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;
    }
});

Ich hatte dieses Problem vor der Verwendung der Erweiterung und habe schließlich eine signierte URL verwendet ... Das Problem dabei war, dass die URL nach etwa einer Woche abläuft und die Miniaturansichten leer und unbrauchbar bleiben. Ich weiß nicht, warum sie dies nicht getan haben Fügen Sie dazu die Dokumentation zur Erweiterung selbst bei. Es ist schön, die Miniaturansichten bequem zu generieren, aber wie wäre es, wenn es darum geht, die Download-URL dieser Miniaturansicht beispielsweise im RTDT zu speichern? Ich freue mich auf eine solide Antwort darauf!
Hugger

Antworten:


0

Sie müssen filePath verwenden, um die Daumen zu überprüfen if(filePath.startswith('thumbs/'){...}

contentType enthält die Metadaten von Dateien wie Bildtyp usw. FilePath enthält den vollständigen Pfad.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.