【发布时间】:2021-04-26 09:06:58
【问题描述】:
我想使用 okhttp websocket 将一些最大 30 MB 的文件上传到我的服务器。 websocket 传输只允许 String 或 ByteString。 所以我想将我的文件转换为 ByteString,然后通过 websocket(Nodejs) 将其上传到我的服务器。
我使用 ByteString.of() 像这样转换这个 byteArray。
val file = "../tmp/file.jpg"
try {
val encoded:ByteArray = Files.readAllBytes(Paths.get(file))
val byteString = ByteString.of(encoded,0,1024)
..send data
Log.d("log1","DATA DONE")
} catch (e: IOException) {
Log.d("log1","ERROR:"+e)
}
但让我感到困惑的是 ByteString 函数需要 3 个参数.. 第一个:字节数组 第二:偏移 第三:字节数
我的问题是最后 2 个参数的作用及其背后的原因?我没有找到任何关于此的明确文档。只是它添加的路线图。
如果您有任何链接或建议,请告诉我。
【问题讨论】:
-
您的问题与上传或websockets无关。
-
@blackapps 它是功能的一部分,但你是对的,我调整了标题。谢谢。
标签: android kotlin websocket okhttp