请检查代码,我在getDownloadUrl()方法中遇到错误。因为它不被Firebase接受。我是一个初学者,所以任何人都可以建议我必须在此代码中进行的更改。
此代码段主要着眼于从存储中获取图像url并将其添加到firebase的数据库部分中。但是getDownloadUrl无法正常工作,请建议更改代码段以使其实现。
StorageReference filePath = userProfileImagesReference.child(currentUserID + ".jpg");
filePath.putFile(resultUri).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
@Override
public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
if(task.isSuccessful())
{
Toast.makeText(SettingsActivity.this, "Profile Image Uploaded", Toast.LENGTH_SHORT).show();
//error here
final String downloadURL = task.getResult().getDownloadUrl().toString();
rootRef.child("Users").child(currentUserID).child("image")
.setValue(downloadURL)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful())
{
Toast.makeText(SettingsActivity.this, "Image Saved", Toast.LENGTH_SHORT).show();
loadingBar.dismiss();
}
else
{
String errorMSG = task.getException().toString();
Toast.makeText(SettingsActivity.this, "Error: "+errorMSG, Toast.LENGTH_SHORT).show();
loadingBar.dismiss();
}
}
});
}
else
{
String error = task.getException().toString();
Toast.makeText(SettingsActivity.this, "Error: "+error, Toast.LENGTH_SHORT).show();
loadingBar.dismiss();
}
}
});
答案 0 :(得分:0)
我想您需要直接从storageReference获取它,所以请执行以下操作:
Uri downloadUrl = filePath.getDownloadUrl();