Javascript gzip解压缩

时间:2017-04-29 06:38:42

标签: javascript c# gzip compression

我想用JavaScript解压缩图片。我使用 gzip 使用C#压缩了图像。如何在JavaScript中解压缩 gzipped 数据?

C#代码

  public static byte[] Compress(byte[] raw)
    {
        using (MemoryStream memory = new MemoryStream())
        {
            using (GZipStream gzip = new GZipStream(memory,
                CompressionMode.Compress, true))
            {
                gzip.Write(raw, 0, raw.Length);
            }
            return memory.ToArray();
        }
    }

1 个答案:

答案 0 :(得分:0)

首先,GZipStream完成后必须关闭。

public static byte[] Compress(byte[] raw)
{
    using (MemoryStream memory = new MemoryStream())
    {
        using (GZipStream gzip = new GZipStream(memory, CompressionMode.Compress, true))
        {
            gzip.Write(raw, 0, raw.Length);
            gzip.Close();
        }
        return memory.ToArray();
    }
}

您可以使用pako在javascript中解压缩。

var base64Data = "COMPRESSED_BASE64_GZIP";
var compressData = atob(base64Data);
compressData = compressData.split('').map(function (e) {
    return e.charCodeAt(0);
});

var originalText = pako.ungzip(compressData, {to:"string"});