未能在Powershell中使用Gzip数据

时间:2017-06-04 08:38:44

标签: powershell compression gzip

我一直在尝试将数据压缩到gzip,但我似乎无法使其工作。 这是我的Gzip转换代码:

function ConvertTo-GzipData {
  [cmdletBinding()]
  param(
    [parameter(Mandatory = $true, ValueFromPipeline = $false)]
    [byte[]]$Data
  )

  Process {
    $output = [System.IO.MemoryStream]::new()
    $gzipStream = New-Object System.IO.Compression.GzipStream $output, ([IO.Compression.CompressionMode]::Compress)

      $gzipStream.Write($Data, 0, $Data.Length)
      $gzipStream.Close()
    return $output.ToArray()
  }

}

这是使用gzip压缩功能的函数。 此函数获取一个字符串,该字符串转到$ data

function Send-Data
{
  Param(
    [string]$evidence_type,
    [string]$data
  )
    $encoding = [System.Text.Encoding]::UTF8
    $enc_data = $encoding.GetBytes($data)
    $gzippedData = ConvertTo-GzipData -Data $enc_data
    write-host $gzippedData
}

我收到以下错误:

  

ConvertTo-GzipData:无法处理参数转换   参数'数据'。无法转换类型的“System.Byte []”值   “System.Byte []”键入“System.Byte”。在行:10 char:45   + $ gzippedData = ConvertTo-GzipData -Data $ enc_data   + ~~~~~~~~~       + CategoryInfo:InvalidData:(:) [ConvertTo-GzipData],ParameterBindingArgumentTransformationException       + FullyQualifiedErrorId:ParameterArgumentTransformationError,ConvertTo-GzipData

0 个答案:

没有答案