Android 从firebase存储中删除图像
我面临一个关于从Android 从firebase存储中删除图像,android,firebase-realtime-database,firebase-storage,Android,Firebase Realtime Database,Firebase Storage,我面临一个关于从firebase存储中删除图像的问题。 如果我上传10张多张图片到firebase。检索多个图像后。我把它们都删除了。但问题是firebase通常会从10张图片中删除7到8张。 我正在一个接一个地删除。不是一次点击所有图像。对于少数图像,Firebase存储引发异常 Firebase存储异常:位置上不存在对象 我检查了firebase存储和firebase数据库。但形象是存在的。我从数据库中打开了url,它也显示了图像,但没有从app 这是我的适配器类代码: final Str
firebase存储中删除图像的问题。
如果我上传10张多张图片到firebase
。检索多个图像后。我把它们都删除了。但问题是firebase通常会从10张图片中删除7到8张。
我正在一个接一个地删除。不是一次点击所有图像。对于少数图像,Firebase存储
引发异常
Firebase存储异常:位置上不存在对象
我检查了firebase存储
和firebase数据库
。但形象是存在的。我从数据库中打开了url
,它也显示了图像,但没有从app
这是我的适配器类代码:
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) {
}
});
final String imageUrl=upload.getUrl();
最终FirebaseUser currentFirebaseUser=FirebaseAuth.getInstance().getCurrentUser();
mDatabase=FirebaseDatabase.getInstance().getReference(常量.数据库\路径\上传);
holder.delete.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
int pos=holder.getAdapterPosition();
上传。删除(pos);
mDatabase.child(currentFirebaseUser.getEmail().replace(“.”,“,”)).addChildEventListener(新的ChildEventListener(){
@凌驾
公共void onChildAdded(DataSnapshot DataSnapshot,字符串s){
Upload delete=dataSnapshot.getValue(Upload.class);
if(code.equals(delete.getCode()))
{
storageReference=FirebaseStorage.getInstance().getReferenceFromUrl(imageUrl);
Toast.makeText(上下文、图像URL、Toast.LENGTH_LONG).show();
storageReference.delete().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公开作废(作废避免){
Toast.makeText(上下文,“已删除回忆录”,Toast.LENGTH_SHORT.show();
mDatabase.child(currentFirebaseUser.getEmail().replace(“.”,“,”)).child(code.removeValue();
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(上下文,例如toString(),Toast.LENGTH_SHORT).show();
}
});
}
notifyDataSetChanged();
}
@凌驾
公共void onChildChanged(DataSnapshot DataSnapshot,字符串s){
notifyDataSetChanged();
}
@凌驾
ChildRemoved上的公共void(DataSnapshot DataSnapshot){
notifyDataSetChanged();
}
@凌驾
已移动ChildMoved上的公共void(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});