Распаковка архивных файлов *.gz(*.gzip) (Deflate) встроенными средствами платформы 1С (без применения внешних компонент)

04.05.21

База данных - Архивирование (backup)

Распаковка архивных файлов *.gz(*.gzip), сжатых по методу Deflate (в частности, из интернета), встроенными средствами 1С (без применения внешних компонент).

Скачать файлы

Наименование Файл Версия Размер
GZIPtoZIP
.epf 12,69Kb
39
.epf 2.1 12,69Kb 39 Скачать

Суть
Распаковка архивных файлов *.gz(*.gzip), сжатых по методу Deflate (в частности из интернета), встроенными средствами 1С (без применения внешних компонент).

Для ускорения загрузки сайты часто отдают данные (файлы), сжатые по методу Defate:
Content-Type: application/x-gzip
Content-Disposition: attachment; filename=*******

Встроенных классов для чтения формата *.gz(*.gzip) нет. Но ситуацию можно обойти, так как тело данного архива сжато Deflate.

Идея взята от необходимости получать/обрабатывать файлы полученные из интернета в сжатом виде.

Вдохновение взято от публикаций: //infostart.ru/public/618906///infostart.ru/public/844121/

Под капотом
Распаковка архивных файлов *.gz(*.gzip), сжатых по алгоритму Deflate:

1) читаем все возможные заголовки GZIP(вначале и в конце) и само сжатое тело-Deflate.

2) формируем корректный ZIP-файл: 

- перерабатываем заголовки-GZIP (включая имя файла если есть в заголовке, с поддержкой кириллических символов)

- добавляем тело-Deflate

- добавляем недостающие заголовки-ZIP

3) получим чистый ZIP, читаем полученный файл стандартными средствами 1С.

Получаем

Распакованный файл, с корректным именем и содержанием.

Не вызывает ошибок, отсутствия CRC32.

Тестировалось на платформах 8.3.12 - 8.3.18, обычные формы.

DEFLATE GZ GZIP ZIP

См. также

Резервное копирование журнала транзакций, наконец-то!

Архивирование (backup) Администрирование СУБД Россия Бесплатно (free)

Постараюсь объяснить, зачем нужно резервное копирование именно журнала транзакций, а не только базы данных, и почему я словно сбросил груз, настроив его - как, покажу, естественно. Кстати, будут скрипты T-SQL (с подробными комментариями) - отличный способ сделать администрирование базы более уютным.

04.12.2023    2517    n_mezentsev    13    

12

Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.

07.10.2022    16516    sapervodichka    34    

136

Архивирование базы в dt и дамп postgres

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Захотелось клиентам выгрузку архива баз, и выгрузку в дт, готовые скрипты с сети не заработали. Может, кому-то поможет. Релиз 8.3.18.1741.

1 стартмани

25.08.2022    4257    1    Gnom-Gluck    6    

6

Утилита копирования баз данных 1С

Архивирование (backup) Платформа 1С v8.3 Абонемент ($m)

Небольшая утилита для копирования файловых баз данных 1С.

1 стартмани

02.06.2022    3964    2    Giblarium    12    

5

Конфигурация 1С v.8, для резервного копирования клиент-серверных баз 1С v.8 в *.DT на внешний FTP сервер

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Данная конфигурация, по времени, указанном в регламентном задании, проходит по заполненному в ней справочнику баз 1С, отключает пользователей и рабочие сеансы и выгружает в файл *.DT: локальную папку, сетевую папку или ftp сервер.

1 стартмани

22.04.2022    5023    22    FeDBuka    10    

6
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 729 04.05.21 10:30 Сейчас в теме
Что, кроме вдохновения, вы применили нового в вашем решении?
2. DiasA 7 04.05.21 15:24 Сейчас в теме
(1) из тех обработок что анонсированы на сайте (ссылки приведены в описании), ничего не подходило для чистого чтения *.gz полученного из интернета, как *.zip.
нового: переработка HEX-заголовков *.gz. в остальном ничего нового тут не добавишь.
Оставьте свое сообщение