Julius
10/12/2022, 12:36 PMval uploadHttpClient = HttpClient()
val uploadResponse = uploadHttpClient.put(cloudflarePresignedPutUrl) {
setBody(mediaFile)
}
Sadly there's a bug in cloudflare's r2 that makes cors break when you set any headerAleksei Tirman [JB]
10/12/2022, 6:58 PMuseDefaultTransformers
configuration property to false
but, unfortunately, in this case you will lose an ability to receive response body as objects of standard types.
val client = HttpClient {
useDefaultTransformers = false
}
Julius
10/13/2022, 8:06 PMthrowableExtensions.kt?010f:25 IllegalStateException: Fail to prepare request body for sending.
The body type is: class String, with Content-Type: null.
If you expect serialized body, please check that you have installed the corresponding plugin(like `ContentNegotiation`) and set `Content-Type` header.
My code:
val mediaFile = base64MediaFileString.decodeBase64Bytes()
val uploadHttpClient = HttpClient {
useDefaultTransformers = false
}
val uploadResponse = uploadHttpClient.put(uploadLinkResponseBody.uploadUrl) {
setBody(mediaFile)
}
Aleksei Tirman [JB]
10/14/2022, 9:24 AMval uploadResponse = uploadHttpClient.put(uploadLinkResponseBody.uploadUrl) {
setBody(ByteArrayContent(mediaFile)))
}