ERROR 错误:getBlob() 仅在类似浏览器的环境中可用

问题描述 投票:0回答:1

我正在尝试使用 Angularfire 18.0.1 从 Firebase 存储中获取数据:

import {Storage, getBlob, ref } from '@angular/fire/storage';

async ngOnInit() {
    const eventsRef = ref(this.storage, 'events');
    const blob =  await getBlob(eventsRef);
}

但是,我收到以下错误:

ERROR Error: getBlob() is only available in Browser-like environments

我做错了什么?

angular firebase google-cloud-firestore angularfire
1个回答
0
投票

显然,

getBlob()
仅在浏览器端受支持。由于我在我的 Angular 项目中启用了服务器端渲染,因此首先在服务器上调用
ngOnInit
。我设法通过确保仅在浏览器端调用该函数来解决该错误:

private platformId: Object = inject(PLATFORM_ID);

async ngOnInit() {
    if (isPlatformBrowser(this.platformId)) {
      const eventsRef = ref(this.storage, 'events');
      const blob =  await getBlob(eventsRef);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.