我们的应用程序是在Angularjs中构建的,在一个场景中我们向客户端发送了大量的JSON数据。所以需要很多时间。那么我们现在做了什么,我们将JSON数据作为GZIP字符串。
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。
我试过跟随库,
但仍然在我们使用TypeScript时,我们在页面中无法访问方法
var gunzip = new Zlib.Gunzip(bytes);
var plain = gunzip.decompress();
在上面的行 Zlib 不可用。可能是由于TypeScript定义不可用。
所以任何人都可以帮我解压缩上面的Gzip字符串。
答案 0 :(得分:1)
只需在全局级别声明Zlib,以便transpailer不会抱怨:
declare var Zlib : any;
其他选项是导入Zlib的类型定义,以便转换器识别符号:
http://definitelytyped.org/docs/from--from/index.html
http://definitelytyped.org/docs/from--from/modules/zlib.html