J'ai un service écrit en angulaire 2 pour télécharger une image vers Firebase. le code est:Les fonctions Firebase ne sont pas reconnues en angulaire 4
import {Injectable} from "@angular/core";
import {AngularFireDatabase} from "angularfire2/database";
import {FileUpload} from "../objects/file";
import * as firebase from 'firebase';
@Injectable()
export class UploadFileService {
private basePath = '/uploads';
constructor(private db: AngularFireDatabase) {}
pushFileToStorage(fileUpload: FileUpload, progress: {percentage: number}) {
const storageRef = firebase.storage().ref();
const uploadTask = storageRef.child(`${this.basePath}/${fileUpload.file.name}`).put(fileUpload.file);
uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED,
(snapshot) => {
// in progress
const snap = snapshot as firebase.storage.UploadTaskSnapshot;
progress.percentage = Math.round((snap.bytesTransferred/snap.totalBytes) * 100);
},
(error) => {
// fail
console.log(error);
},
() => {
// success
fileUpload.url = uploadTask.snapshot.downloadURL
fileUpload.name = fileUpload.file.name
this.saveFileData(fileUpload);
}
);
}
private saveFileData(fileUpload: FileUpload) {
this.db.list(`${this.basePath}/`).push(fileUpload);
}
}
ce code me donne l'erreur sur les « firebase.storage » fonctions « stockage de propriété n'existe pas sur le type firebase statique »
J'ai lu un post sur cette parole que cela pourrait être corrigé en changeant l'importation firebase en "declare var firebase" mais ceci n'a pas fonctionné.
Cela a fonctionné très bien! Merci. –