我遇到了有关从firebase storage
删除图片的问题。
如果我将10张多张图片上传到firebase
。检索多个图像后。我删除了所有这些。问题是firebase
通常删除10个中的7个或8个图像。
我一个一个地删除。一次点击不是所有图像。对于少数图像,Firebase storage
抛出异常
Firebase存储异常:位置
时不存在对象
我检查了firebase storage
和firebase 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) {
}
});