![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Ruby) Unzip a ZIP Entry Directly into a BinData Object Using ZipEntry.UnzipToBdSee more Zip Examples This example demonstrates how to use the The entry contents are uncompressed entirely in memory without creating a file on disk. This is useful when:
The example opens a ZIP archive, locates a PDF entry, inflates it into a Suppose the ZIP archive contains: The entry is uncompressed directly into memory before optionally being saved to:
require 'chilkat' success = false zip = Chilkat::CkZip.new() # Open an existing ZIP archive. success = zip.OpenZip("qa_data/zips/documents.zip") if (success == false) print zip.lastErrorText() + "\n"; exit end # Locate the PDF entry within the ZIP archive. entry = Chilkat::CkZipEntry.new() success = zip.EntryOf("docs/report.pdf",entry) if (success == false) print "ZIP entry not found." + "\n"; zip.CloseZip() exit end # ------------------------------------------------------------ # Inflate the ZIP entry directly into a BinData object. # # The uncompressed bytes are stored entirely in memory. # pdfData = Chilkat::CkBinData.new() success = entry.UnzipToBd(pdfData) if (success == false) print entry.lastErrorText() + "\n"; exit end print "Uncompressed size = " + pdfData.get_NumBytes().to_s() + "\n"; print "" + "\n"; # ------------------------------------------------------------ # Optionally save the uncompressed bytes to a file. # success = pdfData.WriteFile("qa_output/report.pdf") if (success == false) print pdfData.lastErrorText() + "\n"; exit end zip.CloseZip() print "PDF extracted successfully." + "\n"; |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.