This commit is contained in:
kunfei 2023-06-18 13:05:29 +08:00
parent 26156331a4
commit 30a181bf27
3 changed files with 20 additions and 11 deletions

View File

@ -49,9 +49,9 @@ object DirectLinkUpload {
zipFile
}
is ByteArray -> ZipUtils.zipByteArray(file)
is String -> ZipUtils.zipString(file)
else -> ZipUtils.zipString(GSON.toJson(file))
is ByteArray -> ZipUtils.zipByteArray(file, fileName)
is String -> ZipUtils.zipByteArray(file.toByteArray(), fileName)
else -> ZipUtils.zipByteArray(GSON.toJson(file).toByteArray(), fileName)
}
}
val analyzeUrl = AnalyzeUrl(url)

View File

@ -1,4 +1,4 @@
@file:Suppress("NOTHING_TO_INLINE", "unused")
@file:Suppress("unused")
package io.legado.app.lib.dialogs

View File

@ -16,19 +16,28 @@ import java.util.zip.*
@Suppress("unused", "MemberVisibilityCanBePrivate")
object ZipUtils {
fun zipByteArray(byteArray: ByteArray): ByteArray {
fun gzipByteArray(byteArray: ByteArray): ByteArray {
val byteOut = ByteArrayOutputStream()
val zip = GZIPOutputStream(byteOut)
zip.use {
return zip.use {
it.write(byteArray)
}
return byteOut.use {
it.toByteArray()
byteOut.use {
byteOut.toByteArray()
}
}
}
fun zipString(text: String): ByteArray {
return zipByteArray(text.toByteArray())
fun zipByteArray(byteArray: ByteArray, fileName: String): ByteArray {
val byteOut = ByteArrayOutputStream()
val zipOutputStream = ZipOutputStream(byteOut)
zipOutputStream.putNextEntry(ZipEntry(fileName))
zipOutputStream.write(byteArray)
zipOutputStream.closeEntry()
return zipOutputStream.use {
byteOut.use {
byteOut.toByteArray()
}
}
}
/**