无法在7Zip中打开GZip,但可以使用PHP读取数据

时间:2019-03-06 10:26:15

标签: powershell gzip 7zip gzipinputstream

我需要在PowerShell中压缩(Gzip)一个大对象,并在REST请求中(而不是将PUT作为文件)将Gzip字符串发布到正文中。

使用以下PowerShell代码创建的示例GZip字符串(real data on PasteBin):

$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。

好消息?

一切正常!

坏消息?

您可以使用gzdecode(base64_decode($content));在PHP中读取GZip字符串,但是当您尝试使用7Zip或任何存档程序打开GZip时,会出现以下错误:

Error on Windows Error on Ubuntu

为什么我不能使用常规工具打开此GZip内容?在线浏览可能与标题有关-有人可以指出正确的方向吗?

0 个答案:

没有答案