简单的概念问题:你能覆盖 Firebase 中使用的 public url 吗?
Simple concept question: Can you overwrite a public url used in Firebase?
如果用户更改了他们的姓名或个人资料图片,我想更新一个 JSON 对象,该对象存储在 public 可用的 Firebase URL 中,其中包含这些值。这在 Firebase 中是否可行——基本上是重复使用 URL?
这会让我不必更新 Firestore 集合中的大量数据。
示例:
- 移动应用已为用户个人资料数据保留 public URL,即 https://firebasestorage_images.mobileapp.com/uid-123456
- Leon,uid 是 123456,将新的个人资料上传到他的移动应用程序,
- Leons 的旧个人资料照片已被改写为位于 https://firebasestorage_images.mobileapp.com/uid-123456
的新个人资料照片
- 这会阻止移动设备的创建者更新每条消息,post,等等更改 firestore 数据以匹配新的个人资料图片 url
编辑:没有代码问题或错误,因为我没有编写它。我什至无法在网上找到它
如果您使用的结构与此类似:
Firestore-root
|
--- users (collection)
|
--- $uid (document)
|
--- profilePhoto: "https://firebasestorage_images.mobileapp.com/uid-123456"
要读取与用户帐户关联的URL,您只需要知道 UID。所以 profilePhoto
字段包含什么并不重要,读取它的路径将始终相同。
如果您希望始终拥有独一无二的 URL,那是不可能的。当您将照片上传到 Firebase 存储时,会生成一个令牌。因此,即使您使用相同的名称,新照片也会覆盖旧照片,但会生成一个新令牌。这样的 URL 看起来像这样:
https://firebasestorage.googleapis.com/v0/b/your_app.appspot.com/o/photos/leon.jpg?alt=media&token=617c54b9-5d4c-...
您不能使用旧令牌更新新图像。
如果用户更改了他们的姓名或个人资料图片,我想更新一个 JSON 对象,该对象存储在 public 可用的 Firebase URL 中,其中包含这些值。这在 Firebase 中是否可行——基本上是重复使用 URL?
这会让我不必更新 Firestore 集合中的大量数据。
示例:
- 移动应用已为用户个人资料数据保留 public URL,即 https://firebasestorage_images.mobileapp.com/uid-123456
- Leon,uid 是 123456,将新的个人资料上传到他的移动应用程序,
- Leons 的旧个人资料照片已被改写为位于 https://firebasestorage_images.mobileapp.com/uid-123456 的新个人资料照片
- 这会阻止移动设备的创建者更新每条消息,post,等等更改 firestore 数据以匹配新的个人资料图片 url
编辑:没有代码问题或错误,因为我没有编写它。我什至无法在网上找到它
如果您使用的结构与此类似:
Firestore-root
|
--- users (collection)
|
--- $uid (document)
|
--- profilePhoto: "https://firebasestorage_images.mobileapp.com/uid-123456"
要读取与用户帐户关联的URL,您只需要知道 UID。所以 profilePhoto
字段包含什么并不重要,读取它的路径将始终相同。
如果您希望始终拥有独一无二的 URL,那是不可能的。当您将照片上传到 Firebase 存储时,会生成一个令牌。因此,即使您使用相同的名称,新照片也会覆盖旧照片,但会生成一个新令牌。这样的 URL 看起来像这样:
https://firebasestorage.googleapis.com/v0/b/your_app.appspot.com/o/photos/leon.jpg?alt=media&token=617c54b9-5d4c-...
您不能使用旧令牌更新新图像。