我有一个关于GZip的奇怪问题,我希望你能帮助我。为什么我在使用GZip缩小JS和CSS时会丢失数据?
using (MemoryStream memoryStream = new MemoryStream(10240))
{
//isCompressed will be true if the browser accepts gzip
using (Stream writer = isCompressed ?
(Stream)(new GZipStream(memoryStream, CompressionMode.Compress)) :
memoryStream)
{
StringBuilder sb = new StringBuilder();
//filenames is collection of multi js files need to be minify
foreach (string fileName in fileNames)
{
sb.Append(File.ReadAllText(context.Server.MapPath(fileName)));
}
//minifier is an instance of Microsoft.Ajax.Utilities.Minifier
string minifiedString = minifier.MinifyJavaScript(sb.ToString());
byte[] bts = Encoding.UTF8.GetBytes(minifiedString);
writer.Write(bts, 0, bts.Length);
}
}
BTS的长度其实是6000,但是,当writer.Write(bts, 0, bts.length)
已执行,作家只能写2334个字,我查了内部信息,它说,操作不支持,我对此感到十分困惑,我不知道为什么?
打开IIS中的静态和动态压缩并不总是一个选项。例如,如果他在共享主机上,某些托管公司会在共享计划上禁用它。为此减少我仍然使用我的自定义库进行压缩/缩小。 –
好点。你知道任何受欢迎的托管服务提供商不允许IIS压缩吗? –
如果托管服务提供商不允许您打开gzip,则更改托管提供商是我的观点... –