A I*_*fil 5 firebase firebase-security swift firebase-storage google-cloud-firestore
问题:
我需要能够从为 Firebase 存储中的图像生成的下载 URL 中删除所有链接修饰。但是,当所有链接装饰都被删除时,生成的链接当前将返回图像元数据的 JSON 文档。
语境:
流程如下:
图像从 iOS 应用上传到 Firebase。完成后,下载 URL 将在 POST 请求中发送到外部服务器。
提交图像 URL 时,URL 被发送到的服务器不接受链接修饰。
目标:
更改 Firebase 存储下载 URL,例如删除所有链接装饰,如下所示:
笔记:
问题实际上是双重的,首先需要操作链接以删除所有链接装饰。然后链接的行为需要更改,因为为了返回图像,您需要在文件扩展名后添加 ?alt=media,在本例中为 .jpg。目前,在没有链接修饰的情况下,使用具有我想要的结构的链接将返回元数据的 JSON 文档。
目前的链接结构如下:
所需的链接结构:
令牌是访问图像所必需的,具体取决于适当的安全规则,但可以通过适当的读取权限忽略。我可以根据需要调整规则,但我仍然需要能够删除 ?alt=media 并仍然返回图像。
小智 3
根据 Frank 的回答,如果您访问关联的 Google Cloud Platform 项目,在“存储”选项卡中找到该存储桶并将该存储桶公开,您将能够从此处获取具有您想要的格式的图像。也就是说,您将无法通过 Firebase 进行访问
https://firebasestorage.googleapis.com/v0/b/example.appspot.com/o/[FOLDER_NAME]%[IMAGE_NAME].jpg
但通过 Google Cloud Storage,链接如下
https://storage.googleapis.com/[bucket_name]/[path_to_image]
进入 GCP 项目控制台后,使用与 Firebase 项目中的名称相同的名称访问存储桶。他们是同一个桶。然后按照以下步骤公开该存储桶。之后,您将能够按照上面提到的方式构建链接,并且无需令牌和alt=media参数即可访问它们。如果您不想向所有人公开,您可以根据需要随意调整权限。
| 归档时间: |
|
| 查看次数: |
1200 次 |
| 最近记录: |