我知道如何将数据添加到firebase数据库,我知道如何将图像上传到firebase存储。我在javascript中这样做。
我无法弄清楚如何将图像链接到我的数据库对象。
我的数据库对象是这样的
{
name:'alex',
age:23,
profession:'superhero'
image:*what to put here ???*
}
一个想法是使用创建的对象引用并使用相同的引用存储图像。
赞赏任何教程或想法。
答案 0 :(得分:2)
我们经常建议存储gs://bucket/path/to/object
引用,否则存储https://...
网址。
请参阅Zero to App,并将其与source code相关联(此处我们使用https://...
版本)作为实际示例。
答案 1 :(得分:0)
var storageRef = firebase.storage().ref('some/storage/bucket');
var saveDataRef = firebase.database().ref('users/');
var uploadTask = storageRef.put(file);
uploadTask.on('state_changed', uploadTick, (err)=> {
console.log('Upload error:', err);
}, ()=> {
saveDataRef.update({
name:'alex',
age:23,
profession:'superhero'
image:uploadTask.snapshot.downloadURL
});
});
此上传函数位于ES6类中,并从调用组件传递.on('state_changed')的回调(uploadTick)。这样您就可以传回上传状态并在UI中显示。
uploadTick(snap){
console.log("update ticked", snap)
this.setState({
bytesTransferred:snap.bytesTransferred,
totalBytes:snap.totalBytes
})
}
要上传的文件会传递给此上传功能,但我只是使用反应表单上传获取文件并对其进行一些处理,您的方法可能会有所不同。