我收到此错误 - “提交的文件为空”;当我在我的 Android 应用程序中向 Mixcloud 上传 API 发出 POST 请求时

问题描述

这是我的 Mixcloud 上传端点。

interface APIUploadToMixCloud {
  
    @POST("upload/")
    suspend fun uploadToMixCloud(
        @Query("access_token") accessToken:String,@Body content:RequestBody
    ): Common

}

这就是我为网络调用准备 POST 正文的方式。

// to capture the cover art image
val coverArtImageBody = covertArtImageInFileFormat.asRequestBody(requireContext().contentResolver.getType(selectedCoverArt!!)?.toMediaTypeOrNull())
val coverArtImageFile = MultipartBody.Part.createFormData("picture",covertArtImageInFileFormat.name,coverArtImageBody)

// to capture the name
val nameOfSong = binding.uploadMusicSongTitleEdt.text.toString()
val songName = nameOfSong.toRequestBody(MultipartBody.FORM)

// to capture the audio file
val audioBody = audioInFileFormat.asRequestBody(requireContext().contentResolver.getType(selectedAudioUri!!)?.toMediaTypeOrNull())
val audioFile = MultipartBody.Part.createFormData("mp3",audioInFileFormat.name,audioBody)

// using the MultipartBody.Builder()

val requestBody:RequestBody = MultipartBody.Builder()
                .setType(MultipartBody.FORM)
                .addFormDataPart("mp3",audioBody)
                .addFormDataPart("name",nameOfSong)
                .addFormDataPart("picture",coverArtImageBody)
                .build()

这就是我拨打网络电话的方式。

uploadMusicViewModel.uploadYourMusicAndCoverArt(ACCESS_TOKEN,requestBody)

这是我得到的错误。

I/okhttp.OkHttpClient: --> POST https://api.mixcloud.com/upload/?access_token=uwCkSCQpdg32FPbahat4Q68D7Q3N4k94 (523047-byte body)
I/okhttp.OkHttpClient: <-- 400 https://api.mixcloud.com/upload/?access_token=uwCkSCQpdg32FPbahat4Q68D7Q3N4k94 (2352ms,181-byte body)
D/UPLOAD_MUSIC_FRAGMENT: this is result from mixCloud:Failure(isNetworkError=false,errorCode=400,errorBody=Response{protocol=h2,code=400,message=,url=https://api.mixcloud.com/upload/?access_token=uwCkSCQpdg32FPbahat4Q68D7Q3N4k94})
D/errorupldToMixCloud: inside handleApiErrorUploadToMix:UploadToMusicCloudErrorMessageTwo(details={mp3=[Ljava.lang.String;@c8ec180},error={message=,type=PostValidationError})
D/UPLOAD_MUSIC_FRAGMENT: error handling:The submitted file is empty.

当我使用邮递员时;上传总是成功的。 https://ibb.co/31WHxkS

请问我该如何解决? 非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)