0
我們的應用程序是在Angularjs中構建的,在一種情況下,我們向客戶端發送了大量的JSON數據。所以需要很多時間。所以我們現在做了什麼,我們把這個JSON數據作爲GZIP字符串。將GZip Json字符串解壓縮爲Angularjs + Typescript中的正常Json字符串
public static string Compress(string s)
{
var bytes = Encoding.Unicode.GetBytes(s);
using (var msi = new MemoryStream(bytes))
using (var mso = new MemoryStream())
{
using (var gs = new GZipStream(mso, CompressionMode.Compress))
{
msi.CopyTo(gs);
}
return Convert.ToBase64String(mso.ToArray());
}
}
使用上述代碼之後,我們的字符串大小減小到良好的程度。 但現在我們的問題是我們無法在客戶端解壓那個GZIP。
我曾嘗試以下庫,
但還是由於我們使用打字稿,我們沒有得到在頁面訪問的方法,
var gunzip = new Zlib.Gunzip(bytes);
var plain = gunzip.decompress();
在上面的一行的Zlib不可用。可能由於TypeScript定義不可用。
所以任何人都可以幫我解壓縮上面的Gzip字符串。
Arent你在那裏重新發明輪子?您的應用程序服務器/瀏覽器可能只是爲您壓縮。 http://blogs.msdn.com/b/kiranchalla/archive/2012/09/04/handling-compression-accept-encoding-sample.aspx – Juan
@Juan我無法控制數據來自服務器,我需要處理它在客戶端本身。 –