显示来自Firebase Cloud Firestore + Cloud Storage的图像?

时间:2020-05-01 02:22:24

标签: reactjs firebase google-cloud-firestore google-cloud-storage

我正在使用Cloud Firestore(数据库)和Cloud Storage(图像存储),但是我不确定如何显示图像。

问题:

  • 我可以在Cloud Firestore中正确加载吗?
  • 我是否缺少访问令牌?

已采取的过程/步骤:

  1. 我手动将每个图像加载到Firebase Cloud Storage
  2. 然后我获取每个图像的存储位置,并将其应用于我的JSON文件中的必需对象,该对象看起来像这样
"agency_logo": "gs://PROJECT_NAME_HERE.appspot.com/logos/CityLogo1.png",
  1. 现在我已将所有图像正确映射到JSON文件中并加载,现在我将导入的JSON映射到AgencyCard React组件:
  // Render Logos
  const renderLogos = () => {
    return images.logos.map((logo, i) => (
      <AgencyCard
        key={i}
        agencyName={logo.agency_name}
        agencyLogo={logo.agency_logo}
      />
    ));
  };
  1. 这是将图像传递到道具的方式:
<div id="agency-image-container">
  <img id="agency-image" src={props.agencyLogo} />
</div>
  1. 什么是图像渲染:

e

1 个答案:

答案 0 :(得分:1)

浏览器不知道如何加载gs://类型的URL。这是仅由Cloud Storage使用的特殊URL,仅可与其他Google Cloud产品一起使用。如果要将其下载到img标签中,则必须生成某种https下载URL。考虑一个Firebase download URLCloud Storage signed URL