Unsere Anwendung ist in Angularjs gebaut, in einem Szenario Wir senden eine gute Menge von JSON-Daten an Client-Seite. Es braucht also viel Zeit. Was wir jetzt gemacht haben, machen wir diese JSON-Daten als GZIP-String.Dekomprimieren von GZip Json String in normale Json String in Angularjs + Typescript
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());
}
}
Nach Verwendung des obigen Codes wurde unsere String-Größe in einem guten Umfang reduziert. Aber jetzt ist unser Problem, dass wir diese GZIP auf der Client-Seite nicht dekomprimieren können.
ich folgende Bibliothek versucht haben,
aber immer noch, wie wir Typoskript verwenden, nicht wir Verfahren zugänglich Seite bekommen,
var gunzip = new Zlib.Gunzip(bytes);
var plain = gunzip.decompress();
In über der Linie Zlib ist nicht verfügbar. Möglicherweise ist die TypeScript-Definition nicht für dieselbe verfügbar.
So kann mir jemand helfen, über Gzip-String zu dekomprimieren.
Arent erfinden Sie das Rad neu erfinden? Ihr Anwendungsserver/Browser kann wahrscheinlich nur für Sie zippen. http://blogs.msdn.com/b/kiranchalla/archive/2012/09/04/handling-compression-accept-encoding-sample.aspx – Juan
@Juan Ich kann nicht kontrollieren, die Daten kamen vom Server, ich muss damit umgehen auf der Client-Seite selbst. –