.NET provides GZipStream class for better compression and decompression. Here is the sample code:
try
{
string anyString = File.ReadAllText("MyImage.jpg");
CompressStringToFile("new.gz", anyString);
}
catch
{
}
}
public static void CompressStringToFile(string fileName, string value)
{
string temp = Path.GetTempFileName();
File.WriteAllText(temp, value);
byte[] b;
using (FileStream f = new FileStream(temp, FileMode.Open))
{
b = new byte[f.Length];
f.Read(b, 0, (int)f.Length);
}
using (FileStream f2 = new FileStream(fileName, FileMode.Create))
using (GZipStream gz = new GZipStream(f2, CompressionMode.Compress, false))
{
gz.Write(b, 0, b.Length);
}
}