Commit 469181e2 authored by Him188's avatar Him188

Fix imageUpload

parent ccec3e95
@file:Suppress("UNUSED_VARIABLE")
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
plugins {
id("kotlinx-atomicfu")
kotlin("jvm")
......@@ -24,9 +22,9 @@ val ktorVersion: String by rootProject.ext
val serializationVersion: String by rootProject.ext
fun KotlinDependencyHandler.kotlinx(id: String, version: String) = "org.jetbrains.kotlinx:kotlinx-$id:$version"
fun kotlinx(id: String, version: String) = "org.jetbrains.kotlinx:kotlinx-$id:$version"
fun KotlinDependencyHandler.ktor(id: String, version: String = ktorVersion) = "io.ktor:ktor-$id:$version"
fun ktor(id: String, version: String = this@Build_gradle.ktorVersion) = "io.ktor:ktor-$id:$version"
kotlin {
......@@ -42,7 +40,7 @@ kotlin {
implementation(ktor("server-cio"))
implementation(kotlinx("io-jvm", kotlinXIoVersion))
implementation(ktor("http-jvm"))
implementation("org.slf4j:slf4j-simple:1.7.26")
implementation("org.slf4j:slf4j-simple:1.7.30")
}
}
......
......@@ -36,7 +36,7 @@ internal fun createImageDataPacketSequence( // RequestDataTrans
data: Any,
dataSize: Int,
fileMd5: ByteArray,
sizePerPacket: Int = 8000
sizePerPacket: Int = 8192
): Flow<ByteReadPacket> {
ByteArrayPool.checkBufferSize(sizePerPacket)
require(data is Input || data is InputStream || data is ByteReadChannel) { "unsupported data: ${data::class.simpleName}" }
......@@ -52,6 +52,7 @@ internal fun createImageDataPacketSequence( // RequestDataTrans
else -> error("unreachable code")
}
var offset = 0L
return flow.map { chunkedInput ->
buildPacket {
val head = CSDataHighwayHead.ReqDataHighwayHead(
......@@ -68,7 +69,9 @@ internal fun createImageDataPacketSequence( // RequestDataTrans
localeId = localId
),
msgSeghead = CSDataHighwayHead.SegHead(
cacheAddr = 812157193,
datalength = chunkedInput.bufferSize,
dataoffset = offset,
filesize = dataSize.toLong(),
serviceticket = uKey,
md5 = net.mamoe.mirai.utils.md5(chunkedInput.buffer, 0, chunkedInput.bufferSize),
......@@ -80,6 +83,8 @@ internal fun createImageDataPacketSequence( // RequestDataTrans
msgLoginSigHead = null
).toByteArray(CSDataHighwayHead.ReqDataHighwayHead.serializer())
offset += chunkedInput.bufferSize
writeByte(40)
writeInt(head.size)
writeInt(chunkedInput.bufferSize)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment