繁体   English   中英

如何使用 gzip 压缩压缩 angular 4 应用程序中的 JSON 数据并使用 Http post 将其发送到服务器?

[英]How to Compress JSON data in angular 4 app using gzip compression & send it to server using Http post?

我正在使用 pako 库进行压缩:

 var binaryString = pako.gzip(data);

在服务器端(.net 核心),我使用中间件来解压缩压缩字符串。

 try
 {
     context.Request.Body = new GZipStream(context.Request.Body, CompressionMode.Decompress);
 }

但是我收到错误消息,因为存档条目是使用不受支持的压缩方法压缩的

 compress(objectYouWantToCompress: any) {
 var data = JSON.stringify(objectYouWantToCompress);
 var binaryString = this.pako.gzip(data);
 return btoa(String.fromCharCode(...new Uint8Array(binaryString)));
}

这可以在 .net 上解压到你需要的 object

在 do.net 方面:

public string Unzip(string str)
{
     byte[] bytes=Convert.FromBase64String(str);
     using (var msi = new MemoryStream(bytes))
     using (var mso = new MemoryStream())
     {
         using (var gs = new GZipStream(msi, CompressionMode.Decompress))
           {
                    CopyTo(gs, mso);
           }

                return Encoding.UTF8.GetString(mso.ToArray());
       }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM