【发布时间】:2011-11-18 03:40:53
【问题描述】:
我遇到了一个关于 GZip 的奇怪问题,希望您能帮助我。
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)执行的时候,writer只能写2334个字符,我查了里面的资料,说,操作不支持,我很困惑,我不知道为什么?
【问题讨论】: