• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 468
  • Last Modified:

Best Zip and Compression Tools

Dear All,

I have a client requirement to send the 150 MB file size using 500 Kbps line in 25-35 minutes time using Desktop client (windows application) to a remote Server via FTP or any other file tranfer protocol.

I planned to use the below method and use either VB.Net or C# as my programming language to develop the application.

1) Select The file(s) at desktop client
2) Compress File(s) at desktop client
3) Zip the file(s) at desktop client
4) Split the file and send all the parts at the same time using multithreading if its cessory.
If we can send it one shot it will be good.
5) Send the file to the remote server via FTP  
6) Unzip the file(s) at remote server
7) Decompress the file(s) at remote server

Can anybody suggest me some tools or Dlls or Method which can fulfill my client's above requirement.

Thanks and Regards
ihsan
0
anand_dan27
Asked:
anand_dan27
4 Solutions
 
nwtechdeskCommented:
7-zip is the current favorite, better than plain old zip.  Your success though will depend on the type of file. If it's a 150mb jpg then there is no compression that'll make much of a difference.  If it's text, no problem.  Splitting the file and sending multiple segments at the same time will probably not make any difference on a 500 Kbps line.  Unless there's a bottleneck on the other side, you chief problem is that slow connection.  Asking two threads to send through the same tight space won't help.
0
 
ajisasaggiCommented:
7zip also has a command line utility. This should help in easy integration with your application.

http://dotnetperls.com/7-zip-examples
0
 
grayeCommented:
I'd recommend SharpZipLib....  it has a native .Net library that does everything that I want...
http://www.icsharpcode.net/opensource/sharpziplib/ 
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
CSecurityCommented:
Dear anand_dan27

Once I decided to code an application that compress files and used this:
http://www.codeproject.com/KB/files/CABCompressExtract.aspx

This project has too much details and works great. It even has encryption and send file methods. It helped me a lot and I hope help you as a C# programmer (the code is in both C++ and C# .NET languages).

But, maybe you think that 7zip is more powerful than this cab compression but there are two points:
1- The difference is really little. For example, if 7zip compress a file from 28M to 1M, cab will do it like 1.2M. I tested them all when coding for my own project. It's more powerful than zip, tar + jar, rar, tar + lzh, arj and  tar + gz (based on the documentation and my own experience).

2- Cab compression is too faster than 7zip. The diffrence is more sensible for large files.

So, I recommend you to use detailed documented and easy to use cab compression.

Regards
0
 
prasminCommented:
You would be easily able to send it. Calculating the speed you gave it would take somewhere about 20 to 22 min max sending a 150MB file to FTP Server.
0
 
pmasottaCommented:
if you are planning to use 7z programatically you better be ready for pain...
7z is not the simpler api I've ever used....


on the other hand if you are not attached to zip format I would recommend the cab MS native api.
http://msdn.microsoft.com/en-us/library/bb417343.aspx
http://msdn.microsoft.com/en-us/library/bb432569.aspx
http://msdn.microsoft.com/en-us/windows/bb980924.aspx

you programatically generate cab files (very efficient compression) that can be extracted with the everywhere available MS "expand.exe". The API has some level of difficulty but far easier than 7z, and you have sample code on MSDN.
0
 
Ingeborg Hawighorst (Microsoft MVP / EE MVE)Microsoft MVP ExcelCommented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now