簡體   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