4. Архивы
Архивы позволяют забрать папку или весь раздел одним файлом и вернуть их обратно вместе с вложенными папками. Это есть только в древовидных разделах.
Скачать архивом
Скачать раздел архивом в корне и Скачать архивом внутри папки. Архив собирается на сервере, поэтому большая папка отдаётся не мгновенно: приложение сообщает, что архив готовится, и отдаёт файл браузеру, когда он собран.
Имя архива складывается из имени раздела и пути папки: cacerts.zip для
раздела, files-certificates.zip для папки внутри него, siteshare-public.zip
для части составного раздела.
Папку или весь раздел можно забрать целиком, пока файлов в них меньше 10 000 и объём меньше 2 000 000 000 байт — это около 1,9 ГБ. Объём приложение узнаёт заранее и скажет сразу, если забирать нечем: ждать сборки и получать отказ не придётся. Слишком большую папку забирают частями — по вложенным папкам.
В пустой папке архивировать нечего, и об этом будет сказано.
Залить архивом
Залить архивом… в том же меню. Структура сохраняется: запись sub/отчёт.pdf
ляжет в подкаталог sub, а не рядом.
Архив идёт через ту же очередь, что обычные файлы, но одной строкой: он принимается или отвергается целиком, а что именно в нём было, видно по содержимому папки после распаковки.
Пределов три, и о каждом приложение говорит словами:
-
сам файл архива — меньше 2 000 000 000 байт: ровно столько и больше за один запрос не принимается. Об этом приложение скажет ещё до отправки, а если откажет сервер — назовёт тот предел, который применил он;
-
в распакованном виде — до 2 000 000 000 байт, и это главное число: по размеру архива его не угадать. Текст сжимается в разы, двоичные данные почти не сжимаются, так что архив в 300 МБ может развернуться и в гигабайт, и в двадцать мегабайт. Распакованный объём виден серверу по оглавлению архива — до того, как что-то будет записано на диск;
-
отдельный файл внутри архива — до 536 870 912 байт (512 МБ). Это общий предел платформы на один файл; у раздела может быть свой, и тогда обычная загрузка ограничена им.
Предел упаковки и предел распакованного объёма совпадают намеренно: папка, которую удалось скачать архивом, всегда заливается обратно.
Когда архив будет отвергнут
Половина архива не распаковывается никогда: если что-то не так, отвергается весь архив. Причины:
-
файл не является архивом;
-
сам файл архива — 2 000 000 000 байт или больше;
-
в распакованном виде архив больше 2 000 000 000 байт;
-
внутри есть файл больше 536 870 912 байт;
-
внутри есть путь, выходящий за пределы архива (
.., абсолютный путь, ссылка наружу); -
внутри есть имя, недопустимое по правилу суффиксов (раздел «Файлы») — например
отчёт!metadata.
Приложение называет причину само, а для записи, из-за которой архив не принят, показывает её имя: исправлять нужно именно её.