[英]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.