Android Q:/storage/emulated/0/Pictures/document/image:35:打开失败:enoint(没有这样的文件或目录)
我正在选择几个图像并将它们发送到服务器。 从main获取图像uri数组,并在viewModel中处理它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
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)