Dennis
01/30/2024, 11:13 AMsuspend fun uploadDocuments(
token: String,
documentRefId: String,
body: ByteArray,
contentType: String,
fileName: String,
onProgressUpdate: (UploadProgress) -> Unit
): UploadResponse {
return ErrorHandler {
val client2 = HttpClient(CIO) {
install(Logging) {
level = LogLevel.ALL
}
}
<http://client2.post|client2.post>(NetworkConstants.DocumentsUpload.route) {
header(HttpHeaders.Authorization, "Bearer $token")
url {
encodedParameters.append("documentRefId", documentRefId)
encodedParameters.append("type", "PAYSLIP")
encodedParameters.append("description", "Uploaded")
}
setBody(
MultiPartFormDataContent(
formData {
append("description", "Ktor logo")
append("file", body, Headers.build {
append(HttpHeaders.ContentType, contentType)
append(HttpHeaders.ContentDisposition, "filename=\"$fileName\"")
})
},
boundary = "WebAppBoundary"
)
)
onUpload { bytesSentTotal, contentLength ->
onProgressUpdate(UploadProgress(bytesSentTotal, contentLength))
}
}
}
}