Skip to content

Multipart uploads

Multipart Uploads Deep Dive

Overview

Multipart requests handle mixed binary/text data.

Core Concepts

Use @Multipart @Part annotations in Retrofit.

Code Examples

@Multipart
@POST("upload")
suspend fun uploadFile(
    @Part("description") description: RequestBody,
    @Part file: MultipartBody.Part
): Response
// Usage
val file = File(path)
val requestBody = file.asRequestBody("image/jpeg".toMediaType())
val part = MultipartBody.Part.createFormData("file", file.name, requestBody)
val description = "My image".toRequestBody("text/plain".toMediaType())
api.uploadFile(description, part)

Senior-Level Insights

  • Chunk large files
  • Implement upload progress
  • Resume capability for large uploads