Android 路径中不能包含/

Android 路径中不能包含/,android,firebase,kotlin,firebase-storage,Android,Firebase,Kotlin,Firebase Storage,我制作了一个社交媒体应用程序,用户可以上传照片。我想为应用程序中的用户添加删除选项。我希望用户在需要时从Firebase云存储中删除他们的pic。这是我的密码 val firebase_url = contentDTOs[p1].imageUrl val storageRef = firebase_url?.let { it1 -> FirebaseFirestore.g

我制作了一个社交媒体应用程序,用户可以上传照片。我想为应用程序中的用户添加删除选项。我希望用户在需要时从Firebase云存储中删除他们的pic。这是我的密码

            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.
 

我想是因为你有

图像%2FIMAGE\u 20201023\u 144632


链接中的片段。并且%2F是反斜杠编码的。不幸的是,您的代码不清楚,这个链接是如何形成的

我不确定,但也许可以尝试从URL中删除
https://
?所以URL应该是
firebasestorage.googleapis…
我该如何删除它我不知道,我对Kotlin真的不熟悉,但一定有某种字符串解析器可以用来做这件事。是的ContentTos[p1]。图像URL就是代码试图从Firestore中删除文档的解析。这就是你想要的吗?或者您正在尝试从云存储中删除文档,这完全是另一回事?请编辑问题以明确您的目标。我无法理解。请查看错误消息。它说:java.lang.IllegalArgumentException:无效路径()。路径中不能包含/。所以有效链接应该是:。但是从您的代码片段来看,还不清楚这个链接是如何创建的,所以我不能说明问题出在哪里