Невозможно открыть GZip в 7Zip, но можно прочитать данные с помощью PHP - PullRequest
0 голосов
/ 06 марта 2019

У меня есть требование сжать (Gzip) большой объект в PowerShell и отправить строку Gzip в теле запроса REST (а не PUT в виде файла).

Пример строки GZip ( реальные данные в PasteBin ), созданные с использованием следующего кода PowerShell:

$ms = New-Object System.IO.MemoryStream
$cs = New-Object System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]::Compress)
$sw = New-Object System.IO.StreamWriter($cs)
$sw.Write($Payload)
$sw.Close();
[System.Convert]::ToBase64String($ms.ToArray()) | Out-File $SomePath -Force | Out-Null
$cs.Close();
$ms.Close();

Позже я прочитал содержимое $SomePath и отправилк API.

Хорошие новости?

ВСЕ РАБОТАЕТ!

Плохие новости?

Вы можете прочитать строку GZip в PHP, используя: gzdecode(base64_decode($content));, но при попытке открыть GZip с помощью 7Zip или любой другой программы архивации вы получите следующую ошибку:

Error on Windows Error on Ubuntu

Почему я не могу открыть этот контент GZip с помощью обычного инструмента?Просмотр веб-страниц может быть связан с заголовками - кто-нибудь может указать мне правильное направление, пожалуйста?

...