我制作了一个社交媒体应用,用户可以在其中上传图片。我想为应用程序中的用户添加删除选项。我希望用户在需要时从Firebase云存储中删除其照片。这是我的代码
val firebase_url = contentDTOs[p1].imageUrl
val storageRef =
firebase_url?.let { it1 ->
FirebaseFirestore.getInstance().collection("images").document(
it1
)
}
storageRef?.delete()?.addOnSuccessListener {
// File deleted successfully
Toast.makeText(context , "Deleted",Toast.LENGTH_SHORT).show()
}?.addOnFailureListener {
// Uh-oh, an error occurred!
Toast.makeText(context , "cannot delete",Toast.LENGTH_SHORT).show()
}
return@setOnLongClickListener true
但是每当我尝试删除任何图像时,它都会向我返回错误
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.videoapp, PID: 20522
java.lang.IllegalArgumentException: Invalid path (https://firebasestorage.googleapis.com/v0/b/video-app-af9bf.appspot.com/o/images%2FIMAGE_20201023_144632_.png?alt=media&token=9cd9d400-49ed-4f73-81b3-baa7668a8430). Paths must not contain // in them.
答案 0 :(得分:0)
我想是因为你有
链接中的images%2FIMAGE_20201023_144632
片段。并且%2F被编码为反斜杠。不幸的是,从您的代码尚不清楚,该链接是如何形成的