0

我想从firebase存储中检索一张照片到角度7,当我运行应用程序时出现一些错误,我无法解决它。

我的代码如下所示:

app.module.ts

import { AngularFireModule } from 'angularfire2';
import { AngularFireStorageModule } from 'angularfire2/storage';

  imports: [
    BrowserModule,
    AngularFireModule.initializeApp(config),
    AngularFireStorageModule

app.component.ts

import { Component } from '@angular/core';
import { AngularFireStorage } from 'angularfire2/storage';
import firebase from 'firebase/firestore';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  firestore = firebase.storage();
  storageRef = firebase.storage.ref();

  title = 'aaa';
  constructor(private afStorage: AngularFireStorage) { }
  display() {
    this.storageRef = firebase.storage.ref('rasool/download2.jpg');
    this.storageRef.getDownloadURL().then(function(url) {
    console.log(url);
});
  }
}

app.component.html

<button (click)="display()"></button>

错误显示在 cli 中:

./src/app/app.component.ts 8:25-33 中的警告“在“firebase/firestore”中找不到导出“默认”(导入为“firebase”)

./src/app/app.component.ts 9:26-34 中的警告“在“firebase/firestore”中找不到导出“默认”(导入为“firebase”)

./src/app/app.component.ts 13:26-34 中的警告“在“firebase/firestore”中找不到导出“默认”(导入为“firebase”)我「wdm」:编译时带有警告。

我该如何解决这个错误请帮助我

我还有一个问题,下面的代码是对的吗???

this.storageRef = firebase.storage.ref('rasool/download2.jpg');
this.storageRef.getDownloadURL().then(function(url) {
console.log(url);
4

2 回答 2

0

对于打字稿:

import * as firebase from 'firebase';

在 AppComponent 中:

storage = firebase.storage();        // Cloud Storage
firestore = firebase.firestore();    // Cloud Firestore

或者您可以AngularFireStorage直接使用来获取存储参考:

export class AppComponent {

  storageRef: AngularFireStorageReference;

  constructor(private afStorage: AngularFireStorage) { }

  display() {
    this.storageRef = afStorage.ref('rasool/download2.jpg');
    this.storageRef.getDownloadURL().subscribe(url => console.log(url));
  }
}
于 2019-01-30T13:06:51.747 回答
0

要将 Firebase Storage 与 Angular 连接起来,我们需要首先在 app.module.ts 中导入以下模块

import { AngularFireModule } from '@angular/fire';
import { AngularFireStorageModule } from '@angular/fire/storage';

为 AngularFireModule 添加导入并初始化它,并为 AngularFireStorageModule 添加导入

AngularFireModule.initializeApp(environment.firebase,'firebase'),
AngularFireStorageModule,

然后可以通过首先导入来在函数中使用 AngularFireStorage

import { AngularFireStorage } from "@angular/fire/storage";
import { FirebaseStorage } from "@angular/fire";

然后通过创建cloudStorage变量并将其分配给 FirebaseStorage 类型,将其与构造函数一起注入。

cloudStorage:FirebaseStorage;
constructor(private store:AngularFireStorage) { 
    this.cloudStorage= store.storage.app.storage();
  }

然后可以使用cloudStorage变量来检索我们可以执行云功能的引用。

使用 Angular 8.2.2

于 2019-11-01T08:59:52.080 回答