路径中不能包含//

时间:2020-10-23 12:04:01

标签: android firebase kotlin firebase-storage

我制作了一个社交媒体应用,用户可以在其中上传图片。我想为应用程序中的用户添加删除选项。我希望用户在需要时从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.
 

1 个答案:

答案 0 :(得分:0)

我想是因为你有

images%2FIMAGE_20201023_144632

链接中的

片段。并且%2F被编码为反斜杠。不幸的是,从您的代码尚不清楚,该链接是如何形成的