【问题标题】:Angular2Fire Access image in storageAngular2Fire 访问存储中的图像
【发布时间】:2018-01-25 15:46:20
【问题描述】:

我正在使用带有 angular2 的 firebase。我厌倦了使用图像的直接 url 访问 firebase 存储桶中的图像。它给出了一些安全错误,但在地址栏中输入时可以直接在浏览器中查看相同的图像。

<img src="gs://img url in firebase storage">

它给出了以下错误

然后我通过链接Angular2Fire Image access尝试了该方法。但它返回给我的是对象而不是 url 访问。

TS:

recommendedListBind(list){
list.forEach(lists => {
    const storageRef = firebase.storage().ref().child(lists.thumbnail);
    let thumbnail = storageRef.getDownloadURL().then(url => url);

    let Detail = {
      title : lists.title,
      thumbnail : thumbnail,
    }

    this.recommendedList.push(Detail);
  });
};

HTML:

<ul>
  <li *ngFor="let List of recommendedList">
    <div class='cards'>
        <img src={{List.thumbnail}} alt={{List.title}} title={{List.title}} />
  </li>
</ul>

它给出以下消息:

在 Firebase 存储中访问图像的正确方法是什么?

【问题讨论】:

    标签: angular firebase firebase-storage angularfire2


    【解决方案1】:

    在使用 Firebase Storage api 时,要么实现身份验证,要么您可以使用不需要身份验证且基于可在控制台中撤销的令牌的下载 url。

    您可以在The Google Firebase Storage Security DocumentationAngularFire2 github 上找到有关身份验证的更多信息

    【讨论】:

    • 我没有使用身份验证,并且存储对所有人开放阅读
    • 如果我撤销意味着我不能使用图像知道吗?由于存储对所有人开放以供阅读,因此使用下载图像 url 是否会构成安全威胁?
    • 1.撤销 撤销阻止(并且只有那个)从工作中下载 url。您可以从它下面的按钮创建一个新的(创建下载网址)。 2. 下载 url 下载 url 是一个文件特定的 url,无论你有什么授权,任何拥有该链接的人都可以访问该文件。 3. 安全参数 对于更安全的系统,我建议创建一个身份验证流程并通过那里访问文件。您可以使用 JSON 或通过BOLT compiler 在身份验证流程中设置规则
    猜你喜欢
    • 2019-05-25
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 2019-04-24
    相关资源
    最近更新 更多