哪种 Ktor 方法是正确的 - append() 或 buildPacket()?
Posted
技术标签:
【中文标题】哪种 Ktor 方法是正确的 - append() 或 buildPacket()?【英文标题】:Which Ktor method is correct -- append() or buildPacket()? 【发布时间】:2021-12-30 15:47:20 【问题描述】:我正在尝试将图像文件上传到服务器,并且一直在使用此方法将二进制文件字节“附加”到消息中。 'srcBitmap' 是一个包含图像字节的 byteArray。
formData = formData
append("image", srcBitmap, Headers.build
append(HttpHeaders.ContentType, "image/jpg")
append(HttpHeaders.ContentDisposition, "filename=image.jpg")
)
在网络上的其他示例中,他们就是这样做的。
formData
appendInput(key = ICON_FILE_PART, headers = Headers.build
append(HttpHeaders.ContentDisposition, "filename=$appId_ic")
)
buildPacket writeFully(icon.toByteArray())
)
这两种方式(追加与'buildPacket')有什么区别?为什么要使用一个而不是另一个?
【问题讨论】:
【参考方案1】:这些只是制作多部分二进制部分的不同方法。使用buildPacket
,您可以构建任意字节数据包而不知道它们的大小。如果您需要从文件创建二进制部分,那么我建议使用第一个选项,因为它简单易懂。
【讨论】:
以上是关于哪种 Ktor 方法是正确的 - append() 或 buildPacket()?的主要内容,如果未能解决你的问题,请参考以下文章