Android Q:/storage/emulated/0/Pictures/document/image:35:打开失败:enoint(没有这样的文件或目录)

Android Q:/storage/emulated/0/Pictures/document/image:35:打开失败:enoint(没有这样的文件或目录),android,kotlin,Android,Kotlin,我正在选择几个图像并将它们发送到服务器。 从main获取图像uri数组,并在viewModel中处理它 private fun changeType(imageUriList: ArrayList<Uri>): ArrayList<MultipartBody.Part> { var imageRequestList = ArrayList<MultipartBody.Part>() for(i in 0 until imageUriL

我正在选择几个图像并将它们发送到服务器。 从main获取图像uri数组,并在viewModel中处理它

private fun changeType(imageUriList: ArrayList<Uri>): ArrayList<MultipartBody.Part> {
    var imageRequestList = ArrayList<MultipartBody.Part>()
    
    for(i in 0 until imageUriList.size) {
        val path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
        val file = File(path, imageUriList[i].path.toString())
        try {
            if (!path.isDirectory) {
                path.mkdirs()
            }
            file.createNewFile()
        } catch (e: Exception){
            e.printStackTrace()
        }

        val requestFile = RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file)
        val body = MultipartBody.Part.createFormData("image", file.name, requestFile)
        imageRequestList.add(body)
    }

    return imageRequestList
}

错误消息

文件名不能包含“:”字符。禁止。你应该直接使用这些尿液。无需使用uri路径和外部存储。那代码毫无意义。
E/WritingViewModel: /storage/emulated/0/Pictures/document/image:35: open failed: ENOENT (No such file or directory)