首页 > 解决方案 > 无法从 Firebase 存储下载图片

问题描述

我正在尝试从名称设置为用户的用户 ID 的 firebase 下载个人资料图片。我正在使用 glide 库下载图像,但出现StorageException: StorageException has occurred. Object does not exist at location.错误。

这是我的代码

String uid = user.getUid();

            storageReference.child("ProfilePictures").child(uid).getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                @Override
                public void onSuccess(Uri uri) {
                    // Got the download URL for 'users/me/profile.png'
                    Log.d("TAG" , "URI = "+uri);

                    GlideApp.with(context).load(uri).into(profilepic);
                    //profilepic.setImageURI(uri);
                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception exception) {
                    // Handle any errors
                    Toast.makeText(getApplicationContext(), "Error getting Profile Picture", Toast.LENGTH_LONG).show();
                }
            });
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {}

    });

我的数据库 在此处输入图像描述

在此处输入图像描述

存储参考声明

StorageReference storageReference;

storageReference = FirebaseStorage.getInstance().getReference();

标签: javaandroidfirebasefirebase-storage

解决方案


改变这个:

storageReference.child("ProfilePictures").child(uid).getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                @Override

进入这个:

storageReference.child("ProfilePictures").child(uid + ".jpg").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                @Override

推荐阅读