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