Зависит от того, как вы используете SharpZipLib. Существует несколько способов сжатия данных с помощью этой библиотеки.
Вот пример метода, который создаст файл zip, который вы сможете открыть практически в любом приложении, поддерживающем zip:
private static byte[] CreateZip(byte[] fileBytes, string fileName)
{
using (var memoryStream = new MemoryStream())
using (var zipStream = new ZipOutputStream(memoryStream))
{
var crc = new Crc32();
crc.Reset();
crc.Update(fileBytes);
var zipEntry =
new ZipEntry(fileName)
{
Crc = crc.Value,
DateTime = DateTime.Now,
Size = fileBytes.Length
};
zipStream.PutNextEntry(zipEntry);
zipStream.Write(fileBytes, 0, fileBytes.Length);
zipStream.Finish();
zipStream.Close();
return memoryStream.ToArray();
}
}
Использование:
var fileBytes = File.ReadAllBytes(@"C:/1.xml");
var zipBytes = CreateZip(fileBytes, "MyFile.xml");
File.WriteAllBytes(@"C:/2.zip", zipBytes);
Этот метод CreateZip оптимизирован для случаев, когда у вас уже есть байты в памяти, и вы просто хотите сжать их и отправить, даже не сохранив на диске.