Advertisements
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);

                    }

                }

            }

        }

Advertisements
Categories: Windows Azure Tags: ,
  1. December 7, 2011 at 4:39 pm

    Good

  2. May 24, 2012 at 2:09 am

    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 1:42 pm

    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

  4. April 9, 2013 at 7:32 am

    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?

  5. July 2, 2013 at 9:16 am

    A motivating discussion is definitely worth comment. There’s no doubt that that you should publish more about this topic, it may not be a taboo subject but typically folks don’t discuss these subjects.

    To the next! Best wishes!!

  6. July 4, 2013 at 10:55 am

    Hello everyone, it’s my first visit at this web page, and article is truly fruitful in support of me, keep up posting such content.

  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 )

Google photo

You are commenting using your Google 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

%d bloggers like this: