Я пытаюсь загрузить изображения в хранилище Firebase, затем получить URL-адрес загрузки и сохранить его в базе данных FireBase. Изображение успешно загружено в хранилище FireBase. Но я не могу получить URL-адрес загрузки сохраненного изображения. task.isSuccessful () всегда возвращает false в
OnCompleteListener ().
String groupId = UUID.randomUUID().toString();
BitmapDrawable bitmapDrawable = (BitmapDrawable) mGroupIcon.getDrawable();
Bitmap bitmap = bitmapDrawable.getBitmap();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
StorageMetadata storageMetadata=new StorageMetadata.Builder().setCustomMetadata("text",".saa").build();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] data = baos.toByteArray();
final UploadTask uploadTask = storageReference.child("GroupId " + groupId).putBytes(data,storageMetadata);
Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if (!task.isSuccessful()) {
try {
Toast.makeText(getApplicationContext(),task.getException().getMessage().toString(),Toast.LENGTH_SHORT).show();
}catch (Exception e)
{
e.printStackTrace();
}
throw task.getException();
}
return storageReference.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
Uri downloadUri = task.getResult();
mDownloadUrl = downloadUri.toString();
String name = mGroupName.getText().toString();
String desc = mGroupDesc.getText().toString();
String currentUserId = user.getUid();
GroupModel model = new GroupModel(name, desc, mDownloadUrl, currentUserId, groupId);
mDatabaseReference.push().setValue(model);
}
else{
Toast.makeText(getApplicationContext(),"Error orrured",Toast.LENGTH_SHORT).show();
}
}
});
Здесь Задача всегда неудачна
Он бросает объект не существует в исключении местоположения, когда я помещаю его в try catch вместо if else.
Это исключение, которое я всегда получаю.
com.google.firebase.storage.StorageException: Object does not exist at location.
Здесь мои изображения загружены в базу данных