ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android-Firebase SignedURL不等于下载URL存储

2019-10-26 03:25:55  阅读:236  来源: 互联网

标签:firebase download url firebase-storage android


我之前曾问过一个问题,要从Firebase Storage获得downloadURL,给我的答案是:

bucket.file(filename).getSignedUrl({
  action: 'read',
  expires: '03-17-2025'
}, function(err, url) {
  if (err) {
    console.error(err);
    return;
  }

  // The file is now available to read from this URL.
  request(url, function(err, resp) {
    // resp.statusCode = 200
  });
});

当我使用它通过Glide下载图像或使用ExoPlayer复制音频或视频文件时,以前的代码给出的代码不起作用.

但是,当文件上传时,我得到的网址与Firebase Storage提供的网址完全不同(该网址确实适用于Glide和ExoPlayer),如下所示:

https://firebasestorage.googleapis.com/v0/b/project-PROYECT_NUMBER.appspot.com/o/Messages%2Fimages%2F-KUj4wvXXl6aj9XXXX%2F1493147111111?alt=media&token=TOKEN

如何在服务器端获得与使用Android或iOS SDK所获得的正确的downloadUrl?

解决方法:

无法像使用Android,iOS或Javascript SDK那样在服务器端获取下载URL.您必须通过调用getSignedUrl()来生成一个url.

您可能要检查是否有权读取给定URL上的文件.

默认情况下,您必须经过身份验证.

在Firebase控制台中检查您的存储规则

https://firebase.google.com/docs/storage/security/#authorization

标签:firebase,download,url,firebase-storage,android
来源: https://codeday.me/bug/20191026/1933443.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有