Classic ASP
Classic ASP
Extract a Single ZIP Entry While Preserving Its Stored Path
See more Zip Examples
This example demonstrates how to use the ZipEntry.Extract method to extract a single entry from a ZIP archive.
The example first creates a ZIP archive containing a text file. It then re-opens the ZIP, finds the entry, and extracts it to a base directory.
The Extract method uses the relative path stored within the ZIP entry. Any required subdirectories are created automatically beneath the specified base directory.
Chilkat Classic ASP Downloads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0
' ------------------------------------------------------------
' First create a sample ZIP archive containing a small text file.
set zip = Server.CreateObject("Chilkat.Zip")
success = zip.NewZip("c:/temp/sampleText.zip")
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( zip.LastErrorText) & "</pre>"
Response.End
End If
' Add a small text file from memory.
success = zip.AddString("myApp/docs/hello.txt","Hello from a ZIP entry!","utf-8")
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( zip.LastErrorText) & "</pre>"
Response.End
End If
' Write the ZIP archive to disk and close it.
success = zip.WriteZipAndClose()
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( zip.LastErrorText) & "</pre>"
Response.End
End If
' ------------------------------------------------------------
' Now open the ZIP archive we just created.
set zip2 = Server.CreateObject("Chilkat.Zip")
success = zip2.OpenZip("c:/temp/sampleText.zip")
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( zip2.LastErrorText) & "</pre>"
Response.End
End If
' Find the entry by its stored ZIP path.
set entry = Server.CreateObject("Chilkat.ZipEntry")
success = zip2.EntryOf("myApp/docs/hello.txt",entry)
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( "Entry not found.") & "</pre>"
Response.End
End If
' Extract this single entry to the base directory:
'
' c:/temp/extracted
'
' Because the entry's stored path is:
'
' myApp/docs/hello.txt
'
' the file will be extracted to:
'
' qa_output/extracted/myApp/docs/hello.txt
'
' The required subdirectories are created automatically.
success = entry.Extract("c:/temp/extracted")
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( entry.LastErrorText) & "</pre>"
Response.End
End If
zip2.CloseZip
Response.Write "<pre>" & Server.HTMLEncode( "Entry extracted successfully.") & "</pre>"
%>
</body>
</html>