Sample code for 30+ languages & platforms
Xbase++

Add Binary Data to a ZIP Using AddBd

See more Zip Examples

This example demonstrates how to use the AddBd method to add binary data from a BinData object as a file entry within a ZIP archive.

The data is created entirely in memory, added to the ZIP as data/binary.dat, and then written to disk.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oZip
LOCAL oBd

nSuccess := 0

//  Create a new ZIP archive.
oZip := CreateObject("Chilkat.Zip")

nSuccess := oZip:NewZip("inMemoryData.zip")
IF (nSuccess == 0)
    ? oZip:LastErrorText
    oZip:destroy()
    RETURN
ENDIF

//  Create a BinData object containing binary content.
oBd := CreateObject("Chilkat.BinData")

//  Append some bytes as hexadecimal.
//  The decoded bytes will become the contents of the ZIP entry.
nSuccess := oBd:AppendEncoded("000102030405060708090A0B0C0D0E0F", "hex")
IF (nSuccess == 0)
    ? oBd:LastErrorText
    oZip:destroy()
    oBd:destroy()
    RETURN
ENDIF

//  Add the BinData contents as a file entry within the ZIP.
//  The file will be stored as "data/binary.dat" inside the ZIP archive.
nSuccess := oZip:AddBd("data/binary.dat", oBd)
IF (nSuccess == 0)
    ? oZip:LastErrorText
    oZip:destroy()
    oBd:destroy()
    RETURN
ENDIF

//  Write the ZIP archive to disk and close it.
nSuccess := oZip:WriteZipAndClose()
IF (nSuccess == 0)
    ? oZip:LastErrorText
    oZip:destroy()
    oBd:destroy()
    RETURN
ENDIF

? "ZIP archive created successfully."

oZip:destroy()
oBd:destroy()