首页 > 解决方案 > 如何在 Android Studio 中使用 Firebase 保存图像的 URL

问题描述

我正在尝试使用以下方法保存图像的 URL:

StorageReference filePath = imageStorage.child("profile_images").child(currentUserID + ".jpg");
filePath.putFile(resultUri).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
        if(task.isSuccessful())
        {
            String downloadURL = task.getResult().getStorage().getDownloadUrl().toString();
            userDataBase.child("image").setValue(downloadURL).addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    progressDialog.dismiss();
                }
            });


        }
        else
        {
            progressDialog.dismiss();
            Toast.makeText(SettingsActivity.this, "Error Uploading",Toast.LENGTH_SHORT).show();
        }
    }
});
}
    String downloadURL = task.getResult().getStorage().getPath();
            userDataBase.child("image").setValue(downloadURL).addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    progressDialog.dismiss();
                }
            });


        }
        else
        {
            progressDialog.dismiss();
            Toast.makeText(SettingsActivity.this, "Error Uploading",Toast.LENGTH_SHORT).show();
        }
    }
});

我在 Android Studio 中使用 Firebase API。我要做的是由用户上传图像并将 URL 保存到数据库中,以便稍后我可以从那里检索它。但是 getDownloadUrl() 方法不返回 URL,而是返回这个字符串:

com.google.android.gms.tasks.zzu@302097b

标签: androidfirebasefirebase-realtime-databasefirebase-storage

解决方案


推荐阅读