Firebaseのサイズ変更拡張機能の完了後にダウンロードURLを取得する


8

これは私が達成しようとしていることであり、firebaseのサイズ変更画像拡張を実装し、画像をアップロードし、サイズ変更が完了したら、そのdowloadUrlのつまみをCloud Firestoreドキュメントに追加します。この質問は私に役立ちますが、それでも親指を識別してダウンロードURLを取得することはできません。これは、これまで試みてきたものです。

注:サムネイルをroot / thumbsに設定しました

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

拡張機能を使用する前にこの問題があり、signedURLを使用してしまいました...その問題は、約1週間後にサムネイルが空白で役に立たなくなるとURLが期限切れになることでした...なぜそうしなかったかわかりません拡張機能自体にこのためのドキュメントを含めます。サムネイルを簡単に生成するのは良いことですが、例えば、RTDTにそのサムネイルのダウンロードURLを保存することはどうでしょうか。これに対する確かな答えを楽しみにしています!
ハガー、

回答:


0

つまみをチェックするにはfilePathを使用する必要があります if(filePath.startswith('thumbs/'){...}

contentTypeには、画像のタイプなどのファイルのメタデータがあります。FilePathには完全パスが含まれます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.