首页 > 解决方案 > 使用 Java REST API 从 Firebase 存储中上传的文件中获取公共下载 URL

问题描述

我想从 firebase-admin sdk for java 上传的文件(Blob)中获取下载 URL。

我的代码:

    FirebaseOptions options = new FirebaseOptions.Builder()
            .setCredentials(GoogleCredentials.fromStream(serviceAccount))
            .setDatabaseUrl("...")
            .build();

        FirebaseApp app = FirebaseApp.initializeApp(options);
        StorageClient storage = StorageClient.getInstance(app);

        Bucket bucket = storage.bucket("...");

        Blob blob = bucket.create(...);

因此,通过此代码,我可以将文件上传到 firebase 存储中。但我不知道如何获取下载 URL。我想获取 URL(https://firebasestorage.googleapis.com..

但是 blob.getMediaLink() 方法返回给我的 URL ( https://www.googleapis.com/download/storage.. ) 是私有的

标签: javarestfirebasefirebase-storagefirebase-admin

解决方案


您可以使用Blob.signUrl()创建一个签名 URL,它与 Firebase 客户端 SDK 生成的下载 URL 的作用基本相同。


推荐阅读