繁体   English   中英

如何从此函数获取downloadURL?

[英]How to get downloadURL from this function?

我想从此函数获取downloadURL。 但是,它迫不及待想要得到它。 因此,此函数不会返回downloadURL。 我怎么才能得到它??

uploadProfileImage = async (uid, file) => {
        let userRef = this.str.ref(`${uid}`).child(`images/avatar.png`);

        const uploadTask = userRef.put(file);

        uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED, snapshot => {

            let progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
            console.log('Upload is ' + progress + '% done');
            switch (snapshot.state) {
                case firebase.storage.TaskState.PAUSED:
                    console.log('Upload is paused');
                    break;
                case firebase.storage.TaskState.RUNNING:
                    console.log('Upload is running');
                    break;

                default:
            }

        }, error => {
            console.log('[Error] ', error);
        }, async () => {
            const downloadUrl = await uploadTask.snapshot.ref.getDownloadURL()
            // update firebase database
            this.updateUserInfo(uid, { profileImage: downloadUrl });

        });

}

这样做的一个方法是简单地跟进谷歌提供的文件在这里

uploadProfileImage = (uid, file) => {
    let userRef = this.str.ref(`${uid}`).child(`images/avatar.png`);

    const uploadTask = userRef.put(file);

    uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED, snapshot => {

        let progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
        console.log('Upload is ' + progress + '% done');
        switch (snapshot.state) {
            case firebase.storage.TaskState.PAUSED:
                console.log('Upload is paused');
                break;
            case firebase.storage.TaskState.RUNNING:
                console.log('Upload is running');
                break;

            default:
        }

    }, error => {
        console.log('[Error] ', error);
    }, () => {
        uploadTask.snapshot.ref.getDownloadURL().then((downloadUrl)=>{
        // update firebase database
        this.updateUserInfo(uid, { profileImage: downloadUrl });
        }
    });
}

我认为你的变量是正确的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM