从firebase存储中删除图像

时间:2017-10-06 07:14:33

标签: android firebase-realtime-database firebase-storage

我遇到了有关从firebase storage删除图片的问题。 如果我将10张多张图片上传到firebase。检索多个图像后。我删除了所有这些。问题是firebase通常删除10个中的7个或8个图像。 我一个一个地删除。一次点击不是所有图像。对于少数图像,Firebase storage抛出异常

  

Firebase存储异常:位置

时不存在对象

我检查了firebase storagefirebase database。但是形象存在。我从数据库中打开了url,它还显示了图片,但没有从app

中删除

这是我的adapter class代码:

 final String imageUrl=upload.getUrl();

        final FirebaseUser currentFirebaseUser = FirebaseAuth.getInstance().getCurrentUser();
        mDatabase = FirebaseDatabase.getInstance().getReference(Constants.DATABASE_PATH_UPLOADS);


        holder.delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int pos=holder.getAdapterPosition();
                uploads.remove(pos);

                mDatabase.child(currentFirebaseUser.getEmail().replace(".",",")).addChildEventListener(new ChildEventListener() {
                    @Override
                    public void onChildAdded(DataSnapshot dataSnapshot, String s) {

                        Upload delete=dataSnapshot.getValue(Upload.class);
                        if(code.equals(delete.getCode()))
                        {
                            storageReference = FirebaseStorage.getInstance().getReferenceFromUrl(imageUrl);


                            Toast.makeText(context,imageUrl,Toast.LENGTH_LONG).show();

                           storageReference.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
                                @Override
                                public void onSuccess(Void aVoid) {
                                    Toast.makeText(context,"Memoir Deleted",Toast.LENGTH_SHORT).show();

                                    mDatabase.child(currentFirebaseUser.getEmail().replace(".",",")).child(code).removeValue();
                                }
                            }).addOnFailureListener(new OnFailureListener() {
                                @Override
                                public void onFailure(@NonNull Exception e) {
                                    Toast.makeText(context,e.toString(),Toast.LENGTH_SHORT).show();
                                }
                            });
                        }
notifyDataSetChanged();
                    }

                    @Override
                    public void onChildChanged(DataSnapshot dataSnapshot, String s) {


                    notifyDataSetChanged();

                    }


                    @Override
                    public void onChildRemoved(DataSnapshot dataSnapshot) {


                        notifyDataSetChanged();


                    }

                    @Override
                    public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });

0 个答案:

没有答案