当前位置: 首页 > 知识库问答 >
问题:

如何在Java Spring Boot上获取firebase存储中上载文件的下载URL

曹光霁
2023-03-14

在Java Spring Boot中,我可以使用firebase admin sdk获取已签名的url。

Bucket bucket = StorageClient.getInstance().bucket();
Storage storage = bucket.getStorage();
BlobInfo blobInfo = BlobInfo.newBuilder(bucket.getName(), storeFileName)
                .setContentType(fileType).build();
URL url = storage.signUrl(blobInfo, 5, TimeUnit.DAYS, Storage.SignUrlOption.withV4Signature());
                String signedPath = url.toString();

但是我需要在JavaSpring Boot中获得下载url而不是签名url,如下面的代码所示。

// Flutter Code
Reference ref = FirebaseStorage.instance.ref().child(storePath);
String url = (await ref.getDownloadURL()).toString();

我无法在JavaSpring中添加Firebase存储sdk,只能移动。

https://mvnrepository.com/artifact/com.google.firebase/firebase-storage/11.0.2

共有1个答案

璩涛
2023-03-14

云存储的管理SDK对于这些平台的GCP库来说是非常薄的包装,它确实没有提供getDownloadURL方法。

GCP SDK最接近的等价物是所谓的签名URL,它类似于下载URL,但有一个过期时间戳。

如果这不能满足您的需要,您可以在文件上设置元数据属性,以便自己生成下载URL,如以下回答所示:使用Firebase的云函数从上载的文件获取下载URL。

 类似资料: