Я переношу свой существующий код на Retrofit 2, но имею некоторые проблемы с пониманием нового синтаксиса для запросов Multipart. Я также использую Kotlin, хотя, кроме нескольких синтаксических изменений, я думаю, что это не имеет значения для этого конкретного вопроса.Retrofit 2 Многостраничные запросы
Вот что я прямо сейчас:
val audioDuration = RequestBody.create(null, audioDuration.toString())
val file = RequestBody.create(MediaType.parse("audio/mp4"),
File(context.filesDir, filename).absoluteFile)
sendAudioChunk(audioDuration, file).enqueue(callback)
А вот определение API:
@Multipart
@POST("path_to_request")
fun sendAudioChunk(@Part("duration") audioDuration: RequestBody,
@Part("audio") audioBlob: RequestBody) : Call<ResponseObject>
На Модернизированный 1.9 я использовал TypedString и TypedFile для параметров запроса, и теперь кажется, нужно использовать RequestBody из OkHttp, но я должен что-то пропустить, потому что запрос не выполняется правильно.
решение Jake Wharton здесь рекомендуемый способ сделать это; https://stackoverflow.com/questions/38507040/how-to-set-dynamic-filename Вы создаете параметры @Part с параметрами типа MultipartBody.Part, которые могут содержать имя файла. –