我正在尝试使用 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
我做错了什么?
显然,
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);
}
}