[英]Unable to get download url from Firebase
尝试从Firebase存储中检索图像时出现此错误。
java.lang.IllegalStateException: Task is not yet complete on upload task.
码:-
Uri imageUri = data.getData();
final StorageReference filePath = UserProfileImageRef.child(currentUserID + ".jpg");
filePath.putFile(imageUri)
.addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
@Override
public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
if (task.isSuccessful()) {
Toast.makeText(ProfileActivity.this, "Profile Image Uploaded", Toast.LENGTH_SHORT).show();
String downloadUri = filePath.getDownloadUrl().getResult().toString();
UserRef.child("profileImage").setValue(downloadUri).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Intent selfIntent = new Intent(ProfileActivity.this,ProfileActivity.class);
startActivity(selfIntent);
Toast.makeText(ProfileActivity.this, "Profile image uploaded to database", Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
else {
String message = task.getException().getMessage();
Toast.makeText(ProfileActivity.this, "Error Occurred" + message, Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
}
});
}
}
});
filePath.getDownloadUrl()
返回一个Task,该Task跟踪获取URL所需的异步工作。 您不能只是立即对其调用getResult()
-您必须像使用putFile()
一样聆听其结果。
请阅读以下内容以获取更多信息: 如何从Firebase Storage获取URL getDownloadURL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.