23.6 ZIP Function
This function compresses a list of files (usually obtained from one of the APEX_EXPORT routines) into a single BLOB containing a .zip archive. All text content in the resultant .zip file is encoded as UTF-8.
                  
All file names within the archive must be unique to prevent the accidental overwriting of files in the application export (an exception raises otherwise).
Additional files (p_extra_files) may also be added to the resultant archive, such as a simple README.txt file or licensing information.
                  
Syntax
APEX_EXPORT.ZIP (
    p_source_files  apex_t_export_files,
    p_extra_files   apex_t_export_files DEFAULT apex_t_export_files() )
    RETURN BLOB;Parameters
Table 23-6 ZIP Parameters
| Parameter | Description | 
|---|---|
| p_source_files | A table of files. For example, from apex_export.get_application. | 
| p_extra_files | Optional additional files to add to the resultant .ziparchive. | 
Returns
This function returns a BLOB containing the compressed application files and any extra files, in ZIP format.
Example
DECLARE
  l_source_files apex_t_export_files;
  l_extra_files apex_t_export_files;
  l_zip blob;
BEGIN
  l_source_files := apex_export.get_application(
    p_application_id => 100,
    p_split => true );
  l_extra_files := apex_t_export_files(
    apex_t_export_file(
      name => 'README.md',
      contents => 'An example exported application.' ),
    apex_t_export_file(
      name => 'LICENSE.txt',
      contents => 'The Universal Permissive License (UPL), Version 1.0' ) );
  l_zip := apex_export.zip(
    p_source_files => l_source_files,
    p_extra_files => l_extra_files );
    sys.dbms_output.put_line(
      'Compressed application export to zip of size; '
      || sys.dbms_lob.getLength( l_zip ) );
END;Parent topic: APEX_EXPORT