Javascript Firebase存储映像不存在';不显示
我想让用户上传个人资料图片,我使用html文件API来实现这一点。Javascript Firebase存储映像不存在';不显示,javascript,firebase,firebase-storage,Javascript,Firebase,Firebase Storage,我想让用户上传个人资料图片,我使用html文件API来实现这一点。 下面是我上传和显示个人资料图片的代码: uploadPic.addEventListener('change',function(evt){ var file = this.files[0]; firebase.storage().ref().child(user_uid + "/" + file.name).put(file).then(function(){ console.log("uplo
下面是我上传和显示个人资料图片的代码:
uploadPic.addEventListener('change',function(evt){
var file = this.files[0];
firebase.storage().ref().child(user_uid + "/" + file.name).put(file).then(function(){
console.log("uploaded to storage");
}).catch(function(e){
console.log(e.message);
});
firebase.storage().ref().child(user_uid + "/" + file.name).getDownloadURL().then(function(url){
user.updateProfile({photoURL: url}).then(function(){
console.log("change success");
}).catch(function(e){
console.log(e.message);
});
}).catch(function(e){
console.log(e.message);
});
});
/*profile pic*/
if(user.photoURL===null){
profilePic.src = "image/anonymous_big.png";
}else{
console.log(user.photoURL);
profilePic.src = user.photoURL;
}
每当用户更改文件时,它将上载到firebase存储,然后作为URL下载,并将值提供给user.photoURL。
图片已成功上载和下载,但配置文件图片如下所示:
如果我console.log(user.photoURL)并单击控制台中的url,它将显示正确的图片。我不知道出了什么问题。提前感谢。根据您详细说明错误“权限被拒绝”的评论,您应该仔细检查您的存储访问规则。使用console.log(user.photoURL)可以得到什么;?调用firebase.storage().ref().child(user_uid+“/”+file.name).getDownloadURL()时,是否确实已上载图片?因为第一个put返回一个承诺,您应该将承诺链接起来。它说它确实显示“上载到存储”,然后显示“更改成功”,但让我试试。如果它说“权限被拒绝”,您确定您已正确配置存储访问规则吗?