Here is a file that may be of interest to you. The name of the file is "actUploadFile.cfm".
Let me know if you would like the unzip.cfm file, it contains a single scripted function: "gunzipFile()".
CODE
<!---
' Purpose: Action page to frmUploadFile.cfm
' --->
<!--- include the unzip utility --->
<cfinclude template="unzip.cfm">
<!--- set the destination directory and filename --->
<cfset sDestination = "#request.gsRoot#\files\upload\#url.pid#\#url.theme#.#url.ext#">
<!--- if the file being uploaded exists from a previous upload, delete it --->
<cfif FileExists(#sDestination#)>
<cffile action="delete" file="#sDestination#">
</cfif>
<!--- move the file from the temp folder to the upload folder --->
<cffile action="move" source="#request.gsRoot#\files\temp\#form.filename#"
destination="#sDestination#">
<cfset success = gunzipFile(sDestination)>
<cfoutput>
success: #success#<p />
</cfoutput>
<!--- update the date uploaded --->
<cfquery name="updDate" datasource="#request.dsn#">
UPDATE ProjectThemes
SET
DateUploaded = #CreateODBCDateTime(Now())#
WHERE ProjectID = <cfqueryparam cfsqltype="cf_sql_integer" value="#url.pid#">
AND PhaseID = <cfqueryparam cfsqltype="cf_sql_smallint" value="1">
AND StageId = <cfqueryparam cfsqltype="cf_sql_smallint" value="1">
AND Theme = <cfqueryparam cfsqltype="cf_sql_varchar" value="#url.theme#">
AND Extension = <cfqueryparam cfsqltype="cf_sql_varchar" value="#url.ext#">
</cfquery>
<!--- store the metadata, if appropriate --->
<cfif IsDefined("form.MetaID")>
<cfset bIsStored = fStoreProjectMetadata(url.pid, sParameterID, form.MetaID, bIsMetadata)>
</cfif>
<!--- leave the action page to prevent double submits using Refresh --->
<cflocation url="phase1_themes.cfm?pid=#url.pid#">