打开失败:ENOENT(没有那个文件或目录)-文件

时间:2021-05-22 17:57:39

标签: java android kotlin

我有一个 Kotlin 应用。我正在尝试从设备中选择音频。这是我获取音频文件的方式:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (requestCode == 111 && resultCode == Activity.RESULT_OK && data != null) {
            fileData = data.data!!
            newAudio = fileData
        }
    }

问题出在这里:

val file = File(newAudio?.path!!)
val requestFile = RequestBody.create(MediaType.parse("audio/mpeg"), file)
val bodyFile = MultipartBody.Part.createFormData("file", file.name, requestFile)

RetrofitService().uploadAudio(bodyFile).enqueue(object : Callback<Any> {
    @SuppressLint("LogNotTimber")
    override fun onFailure(call: Call<Any>, t: Throwable) {
        d("#Error", "${t.message}")
        mainContent.visibility = VISIBLE
        newAudioProgressBar.visibility = GONE

        Toast.makeText(requireContext(), t.message, Toast.LENGTH_SHORT).show()
    }

    @SuppressLint("LogNotTimber")
    override fun onResponse(call: Call<Any>, response: Response<Any>) {
        navHostFragment.findNavController().navigate(R.id.myAudiosFragment)
        Toast.makeText(requireContext(), "Audio uploaded successfully!", Toast.LENGTH_SHORT).show()
    }
})

我进入了 logcat:D/#Error: /document/primary:Music/Track28.mp3: open failed: ENOENT (No such file or directory)。该文件存在是因为我从我的设备中选择了它。我想这条路有问题。我被这个困住了。请帮助。为什么?

0 个答案:

没有答案