我需要在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时,会出现以下错误:
为什么我不能使用常规工具打开此GZip内容?在线浏览可能与标题有关-有人可以指出正确的方向吗?