12,162
社区成员
发帖
与我相关
我的任务
分享
[WebMethod(Description = "返回DataSetSurrogate对象用Binary序列化并ZIP压缩后的字节数组")]
public byte[] GetDataSetSurrogateZipBytes()
{
DataSet DS = GetDataSet();
DataSetSurrogate dss = new DataSetSurrogate(DS);
BinaryFormatter ser = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
ser.Serialize(ms, dss);
byte[] buffer = ms.ToArray();
byte[] Zipbuffer = Compress(buffer);
return Zipbuffer;
}
public byte[] Compress(byte[] data)
{
MemoryStream ms = new MemoryStream();
Stream zipStream = null;
zipStream = new GZipStream(ms, CompressionMode.Compress, true);
zipStream.Write(data, 0, data.Length);
zipStream.Close();
ms.Position = 0;
byte[] compressed_data = new byte[ms.Length];
ms.Read(compressed_data, 0, int.Parse(ms.Length.ToString()));
return compressed_data;
}
public byte[] Compress( byte[] data )//压缩二进制数据
{
MemoryStream ms = new MemoryStream();
Stream zipStream = null;
zipStream = new GZipStream( ms, CompressionMode.Compress, true );
zipStream.Write( data, 0, data.Length );
zipStream.Close();
ms.Position = 0;
byte[] Compress_data = new byte[ms.Length];
ms.Read( Compress_data, 0, int.Parse( ms.Length.ToString() ) );
return Compress_data;
}