| 4D v18ZIP Read archive | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 ZIP Read archive 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ZIP Read archive ( zipFile {; password} ) -> Function result | ||||||||
| Parameter | Type | Description | ||||||
| zipFile | Object |   | ZIP archive file | |||||
| password | Text |   | ZIP archive password if any | |||||
| Function result | Object |   | Archive object | |||||
The ZIP Read archive command retrieves the contents of zipFile and returns it as an object.
Note: This command does not uncompress the ZIP archive, it only provides a view of its contents. To extract the contents of an archive, you need to use methods such as file.copyTo( ) or folder.copyTo( ).
Pass a File object referencing the compressed ZIP archive in the zipFile parameter. The target archive file will be opened until the ZIP Read archive has finished executing and all contents/references have been extracted /released, then it will be closed automatically.
If the zipFile is password protected, you need to use the optional password parameter to provide a password. If a password is required but not passed when trying to read the contents of the archive, an error is generated.
Returned object
The returned object contains a single "root" property whose value is a Folder object. This folder describes the whole contents of the ZIP archive:
| Property | Type | Description | 
| root | object | A virtual folder containing the contents of the ZIP archive. | 
The "root" folder and its contents can be manipulated with the File and Folder methods and properties.
To retrieve and view the contents of a ZIP file object:
 C_OBJECT($archive;$path)
 
 $path:=Folder(fk desktop folder).file("MyDocs/Archive.zip")
 $archive:=ZIP Read archive($path)
To retrieve the list of the files and folders in the archive:
 $folders:=$archive.root.folders()
 $files:=$archive.root.files()
To read the contents of a file without extracting it from the root folder:
 If($files[$i].extension=".txt")
    $txt:=$files[$i].getText()
 Else
    $blob:=$files[$i].getContent()
 End if
To extract from the root folder:
  //extract a file
 $folderResult:=$files[$i].copyTo(Folder(fk desktop folder).folder("MyDocs"))
 
  //extract all files
 $folderResult:=$archive.root.copyTo(Folder(fk desktop folder).folder("MyDocs"))
	Product:  4D
	Theme:  File and Folder
	Number:  
        1637
        
        
        
	

	Created:  4D v18
	4D Language Reference ( 4D v18)
	
	
	
 Add a comment
Add a comment