【问题标题】:Firebase Storage - Download URL different from actual Download URL in the console (token differs)Firebase 存储 - 下载 URL 与控制台中的实际下载 URL 不同(令牌不同)
【发布时间】:2017-02-11 01:35:36
【问题描述】:

大多数情况下,上传文件成功后上传文件的下载地址是正确的,可以找回文件,但有几次上传文件成功后下载地址的token不正确,无法找回文件。当我检查 Firebase 控制台时,下载 URL 中的令牌不同。

【问题讨论】:

  • 能否进一步分享问题的细节?
  • 我正在使用 Firebase 存储从应用程序上传我的图像。我们得到的下载 url .addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(final UploadTask.TaskSnapshot taskSnapshot ) {
  • 好的,URL 有什么问题?什么是正确的网址,什么是错误的网址?
  • 我使用 glide 从 url 加载图像并获得以下错误 java.io.IOException: Request failed 403: Forbidden 当我从 firebase 存储控制台检查图像的下载 url 他们是两者之间的令牌差异。
  • 这实际上是Firebase的一个bug,我也遇到了同样的问题,这个错误不是一直出现而是偶尔出现。

标签: android firebase firebase-storage


【解决方案1】:

下载 URL 失效有两种方式:

  • 下载 URL 在 Firebase 控制台中被删除
  • 上传了一个新对象(这实际上删除了该对象,因此令牌应该过期)

听起来您可能遇到第二种情况 - 如果是这样,这是预期行为(因为您正在检索不同的文件),因此您应该确保获取您在上传后检索到的 URL(我们返回它在上传后的元数据中)并适当地存储它。 Glide 可能会缓存旧 URL,这就是它失败的原因(如果文件更改,您需要使缓存无效)。

【讨论】:

  • 感谢您的回复。上传成功后获取 url 例如: addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(final UploadTask.TaskSnapshot taskSnapshot) {taskSnapshot.getMetadata().getDownloadUrl();} .如果打开相同的 url使用 Web 浏览器会显示类似的错误 (403)。
猜你喜欢
  • 2020-12-07
  • 2018-08-09
  • 1970-01-01
  • 2017-09-23
  • 2021-10-23
  • 2018-01-09
  • 2017-06-07
  • 1970-01-01
  • 2019-09-29
相关资源
最近更新 更多