0
ファイヤーベースに画像をアップロードするサービスが角2で書かれています。 コードは次のとおりです。このコードは、「firebase.storage」機能に私にエラーを与えているファイヤーベース機能がアンギュラ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);
}
}
「プロパティ記憶がfirebase静的な型に存在しません」私はこの言葉で記事を読みましたfirebase importを "declare var firebase"に変更することで修正できますが、これはうまくいきませんでした。
これは素晴らしい機能でした。ありがとう。 –