[英]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.