Исключение хранилища Firebase: com.google.firebase.storage.StorageException: объект не существует в местоположении - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь загрузить изображения в хранилище 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.

Здесь мои изображения загружены в базу данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...