Home > Windows Azure > Compress and extract file using Gzipstream

Compress and extract file using Gzipstream


I have faced situation for downloading large blob files from azure server to local folder. It was easy to download the file from azure server. But if file has more than 2 GB (means larger size) it will got error in the middle of the downloading. When I was facing the issue, I was search on google and not found feasible solution soon that’s why I posted this compress and decompress codes here..

using System.IO.Compression;

 

Compress files ….

public static void Compress(FileInfo fi)

        {

            // Get the stream of the source file.

            using (FileStream inFile = fi.OpenRead())

            {

                // Prevent compressing hidden and

                // already compressed files.

                if ((File.GetAttributes(fi.FullName)

                    & FileAttributes.Hidden)

                    != FileAttributes.Hidden & fi.Extension != “.gz”)

                {

                    ///**

                    //string[] filesplits = fi.FullName.Split(‘.’);

                    // Create the compressed file.

                    using (FileStream outFile =

                                File.Create(fi.FullName + “.gz”))

                    {

                        using (GZipStream Compress =

                            new GZipStream(outFile,

                            CompressionMode.Compress))

                        {

                            // Copy the source file into

                            // the compression stream.

                            inFile.CopyTo(Compress);

                            Console.WriteLine(“Compressed {0} from {1} to {2} bytes.”,

                                fi.Name, fi.Length.ToString(), outFile.Length.ToString());

                        }

                    }

                }

            }

        }

 

 

Decompress compressed file..

public void Decompress(FileInfo fi)

        {

            // Get the stream of the source file.

            using (FileStream inFile = fi.OpenRead())

            {

                // Get original file extension, for example

                // “doc” from report.doc.gz.

                string origName = curFile.Remove(curFile.Length -

                        fi.Extension.Length);

                //Create the decompressed file.

                using (FileStream outFile = File.Create(origName))

                {

                    using (GZipStream Decompress = new GZipStream(inFile,

                            CompressionMode.Decompress))

                    {

                        // Copy the decompression stream

                        // into the output file.

                        Decompress.CopyTo(outFile);

                        Console.WriteLine(“Decompressed: {0}”, fi.Name);

                    }

                }

            }

        }

About these ads
Categories: Windows Azure Tags: ,
  1. December 7, 2011 at 4:39 pm | #1

    Good

  2. May 24, 2012 at 2:09 am | #2

    Do youve a spam problem on this internet site; I also am a blogger, and I was questioning your scenario; we now have developed some nice strategies and were looking to swap solutions with other folks, be positive to shoot me an e-mail if serious.

  3. March 16, 2013 at 6:18 am | #3

    ??? ??? ????? ????? ?????? ?? ???? ????? ????? ?? ?????? ??????? . ?????? ??????? ????? ???? ????? ??????? ????? ??????? ???? ????? ??????? ???? ??????? ??? ?????? ??? ?? ??????? ????? ????? ????????.

  4. March 16, 2013 at 1:42 pm | #4

    what you are looking needed for, a beneficial place when sandals, accessories, or t-shirts? check it out perfect here. it doesn’t best one that i’ve ever be familiar with, and it is also our suffer from
    http://www.shopnikeairmax1.co.uk/ – Nike air max 1

  5. April 9, 2013 at 7:32 am | #5

    I’m curious to find out what blog platform you are using? I’m experiencing some small security issues with my latest site and I would like to find something more safeguarded. Do you have any solutions?

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 29 other followers

%d bloggers like this: