Чтение сжатого gzip, deflate HTTP ответа сервера. Без ВК. Уменьши время загрузки и сократи трафик в 3 раза
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Будет работать на платформе 8.3.9 + . Потому что работа с двоичными данными появилась только в них.
Многие искали ответ на этот вопрос, и тут, и на партнерском форуме, тема действительно актуальная, сейчас все работает со сжатием.
Суть метода лежала на поверхности, что такое GZIP - это формат схожих с ZIP , но отличающейся заголовочными блоками.
1) Вставляем заголовок, чтобы сервер понимал, что мы умеем принимать этот формат
Заголовки.Вставить("Accept-Encoding", "gzip");
2) Получаем ответ в виде двоичных данных
3) Вырезаем сжатое тело (Байты с 10 по ДлинаТела - 8)
4) Формируем валидные залоговоки формата ZIP файла и добавляем к нему сжатое тело (Пример формирование валидных ZIP заголовков взят отсюда //infostart.ru/public/618906/, и доработаны)
5) Извлекаем данные с использованием ЧтениеZipФайла
Во вложении готовая функция, можно копировать в проект и использовать.
Если будет советы по оптимизации и улучшению, просьба в личку.
Вступайте в нашу телеграмм-группу Инфостарт