我正在上传一个表单中的图像,表单被提交到Firebase数据库,我还想将图像URL发送到Firebase数据库。
var {image} = this.state;
var {url} = this.state;
var that = this;
var storageRef = firebase.storage().ref('students_images/' + image.name);
storageRef.put(image).then(function(snapshot) {
that.setState({
url: snapshot.downloadURL
});
});
var studRef = firebaseRef.child('students');
var newStudRef = studRef.push().update({
name: val['name'].value,
email: val['email'].value,
age: val['age'].value,
date: val['jdate'].value,
course: val['course'].value,
imgUrl: url
});
但是问题是图像URL来自一个异步函数,它需要一点点返回URL,但是表单是立即提交的,所以imgUrl的值是未定义的。
发布于 2016-12-12 06:10:12
在里面提交您的表单,然后块。
var storageRef = firebase.storage().ref('students_images/' + image.name);
storageRef.put(image).then(function (snapshot) {
that.setState({url: snapshot.downloadURL});
var studRef = firebaseRef.child('students');
var newStudRef = studRef.push().update({
name: val['name'].value,
email: val['email'].value,
age: val['age'].value,
date: val['jdate'].value,
course: val['course'].value,
imgUrl: snapshot.downloadURL
});
});https://stackoverflow.com/questions/41094964
复制相似问题