Невозможно разархивировать большой zip файл (3,3 ГБ) в iOS9 с помощью SSZipArchive
Как заголовок, я создаю zip файл с моего бэкэнд-сервера Django (размещенного на Ubuntu 14.04.1 LTS) с использованием модуля zipfile python:
zipfile.ZipFile(dest_path, mode='w', compression=zipfile.ZIP_DEFLATED,
allowZip64=True)
Мне удалось открыть его, используя мой Mac в Finder, но не удалось использовать библиотеку SSZipArchive. Я попытался использовать последнюю фиксацию главной ветки, а также тег v1.0.1 и v0.4.0.
Используя v0.4.0, я получил ошибку в строке 1506 unzip.c:
if (unz64local_CheckCurrentFileCoherencyHeader(s,
&iSizeVar,
&offset_local_extrafield,&size_local_extrafield)!=UNZ_OK)
return UNZ_BADZIPFILE;
и он каждый раз застегивался на один и тот же файл с тем же currentFileNumber
.
Есть ли какие-либо подсказки?
P.S. Я думаю, что SSZipArchive должен поддерживать архивный файл Zip64, поскольку я задал вопрос в своем реестре github.
Обновления [20160129]
Я выполнил проверку zipinfo в zip файле и вывел следующий результат:
...
-rw-r--r-- 2.0 unx 1992 b- defN 26-Nov-15 14:59 <file_name>
-rw-r--r-- 2.0 unx 925 b- defN 26-Nov-15 14:59 <file_name>
-rw-r--r-- 2.0 unx 1194 b- defN 26-Nov-15 14:59 <file_name>
-rw-r--r-- 2.0 unx 72 b- defN 26-Nov-15 14:52 <file_name>
-rw-r--r-- 2.0 unx 289 b- defN 18-Jan-16 11:27 <file_name>
-rw-r--r-- 2.0 unx 1541 b- defN 18-Jan-16 11:27 <file_name>
-rw-r--r-- 2.0 unx 295 b- defN 18-Jan-16 11:27 <file_name>
-rw-r--r-- 2.0 unx 449619181 b- defN 18-Jan-16 11:26 <file_name>
-rw-r--r-- 4.5 unx 73128184 bx defN 18-Jan-16 11:26 <file_name>
-rw-r--r-- 4.5 unx 69444488 bx defN 18-Jan-16 11:26 <file_name>
-rw-r--r-- 4.5 unx 671440 bx defN 18-Jan-16 11:26 <file_name>
-rw-r--r-- 4.5 unx 20189549 bx defN 18-Jan-16 11:27 <file_name>
-rw-r--r-- 4.5 unx 197 bx defN 18-Jan-16 11:26 <file_name>
-rw-r--r-- 4.5 unx 1379396 bx defN 18-Jan-16 11:26 <file_name>
...
Ответы
Ответ 1
После десятка проб и ошибок, я обнаружил, что это проблема с zip файлом, созданным пакетом zipfile python. Если я использовал команду zip, предоставленную сервером Ubuntu версии
Copyright (c) 1990-2008 Info-ZIP - введите "zip" -L "для получения лицензии на программное обеспечение.
Это Zip 3.0 (5 июля 2008), Info-ZIP.
чтобы архивировать большие данные 4 ГБ, SSZipArchive может извлечь пакет zip успешно.
Я протестировал zip файл с помощью zipinfo и нашел:
...
-rw-r--r-- 3.0 unx 2939 bx 2677 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 15069 bx 3040 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 3265 bx 3003 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 3048 bx 2766 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 3453 bx 3168 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 1415 tx 534 defN 16-Jan-28 16:33 <file_name>
drwxr-xr-x 3.0 unx 0 bx 0 stor 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 3302 tx 695 defN 16-Jan-28 16:33 <file_name>
drwxr-xr-x 3.0 unx 0 bx 0 stor 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 130678 bx 127322 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 133540 bx 130045 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 136 tx 71 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 1416 tx 541 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 1417 tx 541 defN 16-Jan-28 16:33 <file_name>
-rw-r--r-- 3.0 unx 2766 tx 652 defN 16-Jan-28 16:33 <file_name>
5551 files, 3854751563 bytes uncompressed, 3793408959 bytes compressed: 1.6%