val multipart = call.receiveMultipart() call.respondWrite { if (call.request.isMultipart()) { while (true) { val part = multipart.readPart() ?: break when (part) { is PartData.FormItem -> println("FormItem: ${part.name} = ${part.value}") is PartData.FileItem -> println("FileItem: ${part.name} -> ${part.originalFileName} of ${part.contentType} ${part.contentDisposition}") } part.dispose() } } }