E questo è il codice per upload e unzip (l'unzip funziona insieme ad una dll e ad una modifica del file web.config).
codice:
<%@ Page Language="VB" Trace="false" Debug="false" %>
<%@ Register TagPrefix="ic" Namespace="ICSharpCode.SharpZipLib" Assembly="ICSharpCode.SharpZipLib, Version=0.85.1.271, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, Safe=true" %>
<%@ import Namespace="ICSharpCode.SharpZipLib.Zip" %>
<%@ import Namespace="ICSharpCode.SharpZipLib.Checksums" %>
<%@ import Namespace="System.IO" %>
<script runat="server">

    Public Sub scompatta(ByVal cartella As String, _
                             Optional ByVal zipFic As String = "", _
                             Optional ByVal elimina As Boolean = False, _
                             Optional ByVal rinomina As Boolean = False)
    
         Dim flag as boolean 'gestisce il corretto scompattamento
         dim fileName as string
         dim elencofile,directoryName,serverFolder as string 'stringa di testo con all'interno i files scompattati
    
         If Not zipFic.ToLower.EndsWith(".zip") Then
             zipFic = Directory.GetFiles(zipFic, "*.zip")(0)
         End If
         '
         Dim z As New ZipInputStream(File.OpenRead(zipFic))
         Dim theEntry As ZipEntry
         '
    Do
             theEntry = z.GetNextEntry()
      If Not theEntry Is Nothing Then 'if 1
    		 directoryName = Path.GetDirectoryName(theEntry.Name)
			' fileName = Path.GetFileName(theEntry.Name)
			 serverFolder = cartella
		if (directoryName<> "") then 'se lo zip  contiene cartelle
				Directory.CreateDirectory(serverFolder +"\"+directoryName)
				'response.write("creata directory"+serverFolder +"\"+directoryName+"
")
                 fileName  = directoryName & "\" & Path.GetFileName(theEntry.Name)
		else
				 fileName  =  Path.GetFileName(theEntry.Name)
		end if
                 elencofile +=fileName +"
"
		if (Path.GetFileName(theEntry.Name)<> "") Then 'if 2 serve perchè vengono prese in considerazione anche le sole cartelle
				 
                 Dim streamWriter As FileStream
    
                 Try
                      streamWriter = File.Create(serverFolder+"\"+fileName)
                 Catch ex As DirectoryNotFoundException
                     lblZIP.forecolor=drawing.color.fromname("Red")
                     lblZIP.text="Errore!"
                     flag=true
                 End Try
                 '
                 Dim size As Integer
                 Dim data(2048) As Byte
                 Do
                     size = z.Read(data, 0, data.Length)
                     If (size > 0) Then
                         streamWriter.Write(data, 0, size)
                     Else
                         Exit Do
                     End If
                 Loop
                 streamWriter.Close()
		End If'if 2
				 
             Else' if 1
                 Exit Do
             End If 'if 1
         Loop
         z.Close()
    
         if not flag then
             lblZIP.forecolor=drawing.color.fromname("Green")
             lblZIP.text= "Lista file scompattati:
"+elencofile
         end if
         ' elimina se richiesto il file zip: default --> non elimina
    
         If elimina Then
             File.Delete(zipFic)
         End If
         ' rinomina se richiesto
         If rinomina Then
             try
                 File.delete (zipFic & ".bak")
             finally
                 File.Copy(zipFic, zipFic & ".bak")
             end try
         End If
    
    End Sub
    
    Sub BtnUp_Click(sender As Object, e As EventArgs)
        dim strFile as string
        strFile = inputFile.PostedFile.FileName
        'Ricavo il nome del file SENZA percorso.
        Dim strNomeFile as string
        strNomeFile = System.IO.Path.GetFileName(strFile)
        dim strPercorsoFileUpload,strPercorsoFileUnzip as string
        'QUI occorre specificare il path dove viene inviato lo zip
        'NOTA: va reso dinamico
       strPercorsoFileUpload =server.mappath("/public/zip")
        'QUI occorre specificare il path dove vengono estratti i file contenuti nello zip
        'NOTA: va reso dinamico
	strPercorsoFileUnzip =server.mappath("/public/temp/unzip")
		 
		
        'Effettuo UPLOAD
        inputFile.PostedFile.SaveAs( strPercorsoFileUpload & "\" & strNomeFile)
        'scompatta lo zip
        scompatta(strPercorsoFileUnzip,strPercorsoFileUpload & "\" & strNomeFile,true,false)
    End Sub

</script>
<html>
<head>
    <title>Upload Files zippati</title>
</head>
<body>
    <form runat="server">
        <table width="100%" align="center">
            <tbody>
                <tr>
                    <td align="middle">
                        


                            E'
                            possibile spedire al server delle cartelle compresse (file zip).
                            

                            

                            Scegli
                            il file
                            <input id="inputFile" type="file" runat="server" />
                            

                            

                            <input id="BtnUp" type="button" value="Invia al server" runat="server" onserverclick="BtnUp_Click" />
                        </p>
                    </td>
                </tr>
            </tbody>
        </table>
        


        </p>
        <p align="center">
            <asp:Label id="lblZIP" runat="server" font-names="Verdana" font-size="X-Small" font-bold="True"></asp:Label>
            

			Torna alla gestione banner

			Torna al pannello di amministrazione
        </p>
    </form>
</body>
</html>

Il codice upload e thumbnail è in c#, questo in VB... è un problema???

Grazie a tutti coloro che mi daranno una mano!