kotlin 未找到类“MultipartBody”的序列化程序

u7up0aaq  于 2023-11-21  发布在  Kotlin
关注(0)|答案(1)|浏览(312)

你好,我正在尝试使用ktor进行多格式请求,但我得到了上面的错误。我如何serilize MultiPartBody?

  1. val body = MultipartBody.Builder().setType(MultipartBody.FORM)
  2. .addFormDataPart("choice","John Wick")
  3. .addFormDataPart("image",path,
  4. File(path).asRequestBody("application/octet-stream".toMediaType()))
  5. .build()
  6. val httpResponse = client.post {
  7. url("https://example.com")
  8. setBody(body)
  9. header("Content-Type","application/json")
  10. header("Authorization", "Bearer key")
  11. }

字符串

fzsnzjdm

fzsnzjdm1#

Ktor无法直接发送okhttp3.MultipartBody类的对象。请改用MultiPartFormDataContent类:

  1. val body = MultiPartFormDataContent(
  2. formData {
  3. append("choice", "John Wick")
  4. append("image", File(path).readBytes(), Headers.build {
  5. append(HttpHeaders.ContentType, "application/octet-stream")
  6. append(HttpHeaders.ContentDisposition, "filename=\"file\"")
  7. })
  8. }
  9. )

字符串

相关问题