Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase存储映像不存在';不显示_Javascript_Firebase_Firebase Storage - Fatal编程技术网

Javascript Firebase存储映像不存在';不显示

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

我想让用户上传个人资料图片,我使用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("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返回一个承诺,您应该将承诺链接起来。它说它确实显示“上载到存储”,然后显示“更改成功”,但让我试试。如果它说“权限被拒绝”,您确定您已正确配置存储访问规则吗?