mirror of
https://github.com/gotson/komga.git
synced 2025-12-16 13:33:49 +01:00
fix: use zip64 for archive downloads
fixes an issue with series or read list archives that contain an entry over 4GB At this point every archiver should support zip64 so it should be fine to always use it
This commit is contained in:
parent
61f519a6a0
commit
73949d514e
2 changed files with 4 additions and 0 deletions
|
|
@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Content
|
|||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import mu.KotlinLogging
|
||||
import org.apache.commons.compress.archivers.zip.Zip64Mode
|
||||
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry
|
||||
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream
|
||||
import org.apache.commons.io.IOUtils
|
||||
|
|
@ -398,6 +399,7 @@ class ReadListController(
|
|||
ZipArchiveOutputStream(responseStream).use { zipStream ->
|
||||
zipStream.setMethod(ZipArchiveOutputStream.DEFLATED)
|
||||
zipStream.setLevel(Deflater.NO_COMPRESSION)
|
||||
zipStream.setUseZip64(Zip64Mode.Always)
|
||||
books.forEach { (index, book) ->
|
||||
val file = FileSystemResource(book.path)
|
||||
if (!file.exists()) {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import io.swagger.v3.oas.annotations.media.Content
|
|||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import mu.KotlinLogging
|
||||
import org.apache.commons.compress.archivers.zip.Zip64Mode
|
||||
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry
|
||||
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream
|
||||
import org.apache.commons.io.IOUtils
|
||||
|
|
@ -649,6 +650,7 @@ class SeriesController(
|
|||
ZipArchiveOutputStream(responseStream).use { zipStream ->
|
||||
zipStream.setMethod(ZipArchiveOutputStream.DEFLATED)
|
||||
zipStream.setLevel(Deflater.NO_COMPRESSION)
|
||||
zipStream.setUseZip64(Zip64Mode.Always)
|
||||
books.forEach { book ->
|
||||
val file = FileSystemResource(book.path)
|
||||
if (!file.exists()) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue