在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
云存储的管理SDK对于这些平台的GCP库来说是非常薄的包装,它确实没有提供getDownloadURL
方法。
GCP SDK最接近的等价物是所谓的签名URL,它类似于下载URL,但有一个过期时间戳。
如果这不能满足您的需要,您可以在文件上设置元数据属性,以便自己生成下载URL,如以下回答所示:使用Firebase的云函数从上载的文件获取下载URL。
我想从FireBase的方法获取下载Url。如何使用以下代码获取下载Url? 我使用了,但这不起作用。
正如代码中所解释的那样,我需要这样做来防止连续两次更新项目照片的情况,因为第一次更新太快而无法完成上传。我最终得到了2个文件-其中一个没有从任何地方引用。如果我可以做类似的事情,第二次上传将转到我的“更新”情况(而不是这里提供的“新照片”情况)-在那里文件将被正确地切换。
我知道在谷歌云存储中,你可以使用签名的URL,这是有时间限制的(还是不做真正的授权)。但是我在Firebase存储文档中没有看到任何关于的内容。我在关于Firebase存储的文章中看到过它,但从未直接在Firebase的文档中看到过。 据我所知,没有办法对访问Firebase存储文件进行真正的用户授权。请告诉我我错了。
在Android中使用和iOS中使用下载存储文件,是否仍然在暗中使用下载uri方法,即在uri末尾使用不可猜测的标记? 我的要求禁止我们向世界公开这样的URL,所以问题是: null
谁能帮帮我吗?