2

我有一个关于 GZip 的问题。

我在.Net 中创建了一些动态表单。现在我想将我的表单数据(html + java 脚本)压缩并保存在数据库中。因此,当用户请求表单(JQuery Ajax)时,我可以提供 gzip 压缩版本。我尝试使用 GZipStream.但没有运气。

有什么想法吗??

System.Text.UTF8Encoding 编码 = new System.Text.UTF8Encoding();

    byte[] byteArray = new byte[value.Length];
    byteArray = encoding.GetBytes(value);

    //Prepare for compress
    System.IO.MemoryStream ms = new System.IO.MemoryStream();
    System.IO.Compression.GZipStream sw = new System.IO.Compression.GZipStream(ms, System.IO.Compression.CompressionMode.Compress, true);

    //Compress
    sw.Write(byteArray, 0, byteArray.Length);
    //Close, DO NOT FLUSH cause bytes will go missing...
    sw.Close();

    System.Text.StringBuilder sB = new System.Text.StringBuilder();
    byte[] finalData = ms.ToArray();
    ms.Close();
    sw.Dispose();
    ms.Dispose();
    sB.Append(encoding.GetString(finalData));

    //Response.ClearContent();
    //Response.OutputStream.Write(ms.ToArray(), 0, ms.ToArray().Length);

    return sB.ToString();

谢谢,希拉斯

4

0 回答 0