Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Append In-Memory Data to Existing Zip w/out Rewriting Entire ZipDemonstrates how to use the QuickAppend method to append in-memory data (string or byte array) to an existing .zip archive. This method works by editing the existing .zip -- it does not rewrite or recompress the contents of the existing .zip. It is the fastest way to append additional files or data to a pre-existing large .zip archive. Note: The QuickAppend method is new and available in the pre-release downloads, or in official releases dated after 6-October-2007. LOCAL loZip LOCAL lnSuccess LOCAL lcInZipFilename LOCAL lcStrData LOCAL lcStrCharset loZip = CreateObject('Chilkat.Zip2') * Any string unlocks the component for the 1st 30-days. lnSuccess = loZip.UnlockComponent("Anything for 30-day trial") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loZip.LastErrorText) QUIT ENDIF * The NewZip method only initializes the Zip object -- it does * not create or write a .zip file. lnSuccess = loZip.NewZip("notUsed.zip") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loZip.LastErrorText) QUIT ENDIF lcInZipFilename = "something.txt" lcStrData = "abcdefghijklmnopqrstuvwxyz1234567890" lcStrCharset = "iso-8859-1" * Append a string as a file to the existing zip object. * Please read the notes about strCharset below. loZip.AppendString2(lcInZipFilename,lcStrData,lcStrCharset) * Note: The AppendString method is identical to AppendString2, * except the strCharset argument is omitted and it is assumed * you desire the ANSI charset. * Note: You may append a byte array (or Variant containing * a byte array for ActiveX users) by calling AppendData. * Appends the contents of this zip object to the preExisting.zip * zip archive. preExisting.zip is opened, and the files * referenced by this zip object are streamed in, compressed, * and appended to the end of the archive. lnSuccess = loZip.QuickAppend("preExisting.zip") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loZip.LastErrorText) QUIT ENDIF =MESSAGEBOX("Success!") * Note about strCharset: * string variables in many programming language are Unicode. * It is likely that you don't want to create .zip that contains * a text file that will unzip to Unicode characters (2 bytes/char). * The strCharset argument allows you to specify the exact * charset to use. When the string is added to the .zip, it * is first converted to this charset. English strings * may use "us-ascii". Western-European languages typically * use "iso-8859-1" or "windows-1252". Japanese might choose * between "shift_jis", "iso-2022-jp", "euc-jp", etc. * Chilkat supports all major character encodings. * You may always use "ansi" or "utf-8". * Note: Additional files, directory trees, or in-memory data * can be appended by calling AppendOneFileOrDir, AppendFiles, * AppendString, AppendData, etc. multiple times. * Whatever files and/or in-memory data that are referenced by * this zip object will be appended to preExisting.zip when * QuickAppend is called. |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.
Mail Component · .NET Email Component · ASP Mail Component · XML Parser