Ionic 4 - Firebase - хранилище не отправляет данные в базу данных в реальном времени - PullRequest
0 голосов
/ 20 марта 2019

Я загружаю изображения в хранилище Firebase, а затем хочу, чтобы они отправлялись в базу данных реального времени, этот код работал в ionic v3, но теперь кажется, что что-то не так, поскольку данные поступают в хранилище, а не вбаза данных.

    createPost(picture: string): Promise<any> {

        firebase.storage().ref('/home/')
            .child('picture.jpg')
            .putString(picture, 'base64', { contentType: 'image/jpg' })
            .then((savedPicture) => {
                firebase.database().ref('Home').push({
                    picture: savedPicture.downloadURL
                }).then(() => {
                    alert('Sucess');
                    this.navCtrl.navigateRoot('/home');
                })
            });
        return
}

1 Ответ

2 голосов
/ 20 марта 2019

URL для новой загрузки больше не доступен как savedPicture.downloadURL.После завершения загрузки вам потребуется позвонить getDownloadURL() по ссылке на хранилище:

let ref = firebase.storage().ref('/home/').child('picture.jpg');
 ref.putString(picture, 'base64', { contentType: 'image/jpg' })
    .then((savedPicture) => {
        ref.getDownloadURL().then((url) => {
          firebase.database().ref('Home').push({
            picture: url
          }).then(() => {
            alert('Sucess');
            this.navCtrl.navigateRoot('/home');
          })
        })
    });

См. Также:

...