在 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();
但是我需要在 Java Spring Boot 中獲取 downloadUrl 而不是簽名的 url,如下面的 flutter 代碼。
// Flutter Code
Reference ref = FirebaseStorage.instance.ref().child(storePath);
String url = (await ref.getDownloadURL()).toString();
我無法在 Java Spring 中添加 Firebase-Storage sdk,只能在 Mobile 中添加。
https://mvnrepository.com/artifact/com.google.firebase/firebase-storage/11.0.2
uj5u.com熱心網友回復:
Cloud Storage 的 Admin SDK 是圍繞這些平臺的 GCP 庫的非常薄的包裝器,它們確實不提供getDownloadURL方法。
GCP SDK 具有的最接近的等效項是所謂的簽名 URL,它類似于下載 URL,但具有過期時間戳。
如果這不能滿足您的需求,您可以在檔案上設定元資料屬性以自行生成下載 URL,如以下答案所示:從使用 Cloud Functions for Firebase 上傳的檔案中獲取下載 URL。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/377908.html
