.Net3.5中调用gzip压缩遇到的问题
时间: 2024-05-12 08:15:11 浏览: 34
在Windows Universal App中使用Web服务
在使用 .Net3.5 进行 gzip 压缩时,可能会遇到以下问题:
1. 找不到 GZipStream 类:GZipStream 是 .Net 2.0 中引入的,如果使用 .Net 3.5 的话,需要手动添加 System.IO.Compression 命名空间
2. 压缩后的数据不完整:在使用 GZipStream 进行压缩时,需要注意关闭流和释放资源,否则可能会导致压缩后的数据不完整。可以使用 using 语句块来自动释放资源,如下所示:
```
using (var outputStream = new MemoryStream())
{
using (var gzipStream = new GZipStream(outputStream, CompressionMode.Compress))
{
// 在这里写入要压缩的数据
}
// 在这里获取压缩后的数据
}
```
3. 解压缩时出现“文件头错误”:这通常是因为在压缩时使用了不同的压缩级别或者操作系统类型,解决方法是设置正确的压缩级别和操作系统类型,例如:
```
using (var inputStream = new MemoryStream(compressedData))
{
using (var gzipStream = new GZipStream(inputStream, CompressionMode.Decompress, true))
{
// 在这里读取解压缩后的数据
}
}
```
希望对你有所帮助!
阅读全文