Non sarebbe comodo poter inviare N file sul vostro sito effettuando un solo upload? Beh...si può fare utilizzando un file ZIP che verrà in seguito estratto dove meglio credete
Ho implementato una paginetta che consente, tramite l'uso della dll SharpZipLib di estrarre i file contenuti in uno Zip, dopo averne fatto l'upload. Trovo utilissima questa funzionalità, però ho dovuto lavorare non poco sulla configurazione e ricompilare la libreria (santo opensource
) aggiungendo nel file AssembyInfo il parametro
[assembly:AllowPartiallyTrustedCallers]
per fare l'upload e utilizzare la libreria ho preso spunto da ASPItalia, modificando il codice per poter estrarre anche file che si trovino all'interno di sottocartelle nello ZIP
Il file al momento viene uploadato in /public/temp e i file estratti vengono creati in /public/temp/unzip, tali percorsi pssono essere modificati ma l'importante è che la cartella di base sia /public (per Aruba) o qualsiasi altra cartella con i permessi di scrittura.
se magari mi dici chi sei e su che hosting lo stai testando vediamo
allora, sono su aruba in hosting windows.
in ogni caso, oggi sono riuscito a farlo funzionare...grazie.

Bastava uploadare la cartella BIN e non mettere la DLL in cgi-bin ...
Molto carino veramente complimenti!
'NOTA: va reso dinamico
strPercorsoFileUpload =server.mappath("/public/temp")
ma non so perchè non accetta ne variabili session ne tantomeno request.querystring... sulla prima non dà errore ma viene ignorata sulla querystring dà un errore in cui dice che non è supportata... te sei riuscito a renderlo dinamico?
prova ad usare semplicemente request("path")
e passargli ?path=
cmq magari mandami una email
PS: grazie mille per l'aiuto!!!!!!
1) la funzione scompatta lavora già sul file presente sul server in quanto l'upload è fatto separatamente tramite la chiamata a riga 105 del codice originale;
2)il file zip è bloccato finchè non viene effettuata la close (riga 67). Successivamente si può scegliere se il file zip deve essere eliminato, rinominato o lasciato sul server in base alle opzioni (true/false) elimina e rinomina passate in scompatta all'atto della chiamata (riga 107)
Spero di esserti stato di aiuto
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)
'FORZO IL NOME DEL FILE.ZIP
strNomeFile ="fotografie.zip"
dim strPercorsoFileUpload,strPercorsoFileUnzip as string
'QUI occorre specificare il path dove viene inviato lo zip
'NOTA: va reso dinamico
strPercorsoFileUpload =server.mappath("/public/temp")
'QUI occorre specificare il path dove vengono estratti i file contenuti nello zip
'NOTA: va reso dinamico
strPercorsoFileUnzip =server.mappath("/public/foto")
'scompatta lo zip
Sub BtnUp_Click(sender As Object, e As EventArgs)
Dim strNomeFile as string
strNomeFile = "file.zip"
dim strPercorsoFileUpload,strPercorsoFileUnzip as string
'QUI occorre specificare il path dove si trova lo zip
strPercorsoFileUpload =server.mappath("/public/temp")
'QUI occorre specificare il path dove vengono estratti i file contenuti nello zip
strPercorsoFileUnzip =server.mappath("/public/temp/unzip")
'scompatta lo zip scompatta(strPercorsoFileUnzip,strPercorsoFileUpload & "\" & strNomeFile,false,false)
End Sub
A patto che rimuovi il campi < input type =file dall'html, che lo zip sia presente nella cartella /public/temp e che la cartella /public/temp/unzip esista
Era un bel pezzo che stavo cercando un modo per inviare file zip sul server e poi scompattarli... ma non mi funziona!!!
Ho il sito ospitato su uno spazio Windows di Aruba, ho scaricato lo zip con tutti i file.
Ho caricato nella root del sito, il file UploadAndUnzip.aspx (dopo aver opportunamente modificato i percorsi per l'upload e l'unzip). Ho caricato, sempre nella root, il file web.config.
Poi ho caricato il file ICSharpCode.SharpZipLib.dll nella cartella cgi-bin, ma non funziona. Ho provato poi a caricarlo nella cartella bin, ma continua a darmi errore sulla riga 8 di web.config.
Parser Error Message: The format of the file 'ICSharpCode.SharpZipLib' is invalid.
Ho letto il commento di qualcun altro che ha risolto caricando la dll su bin e non su cgi-bin, ma a me neanche così funziona.
Heeeelp!!! Thanx!

- Ho caricato la cartella bin, con tutto il suo contenuto, nella root del mio sito.
- Ho caricato il tuo web.config.
- Da pannello di controllo di Aruba mi dice: .NET Framework version: 1.1.4322.2407
Sistema Operativo: Microsoft Windows 2003
IIS: Microsoft-IIS/6.0
MDAC: 2.82.3959.0
Mi sembra che sia tutto a posto, ma continua a non funzionare.
Hai qualche idea?
Grazie!
Ciao
.NET Framework version: 2.0.50727.832 e quindi non vorrei che fosse proprio questo il problema, può essere che il .NET 1 non lo supporti, non so darti altre spiegazioni. Comunque prova ad aprire un ticket su aruba chiedendo se pensano di aggiornare il framework
Venerdì mi spostano il sito su un server con Windows 2003.
Pare inoltre che le info del pannello di controllo di Aruba non siano affidabili (mi diceva che ero su un server con Windows 2003...
Se tutto va bene, lunedì riproverò il tuo script.
Ciao!

L'indirizzo IP del mittente viene registrato, in ogni caso si raccomanda la buona educazione.
Home
Articoli
Foto
Musica
Video
Download
Login
Storico
Articolo
Stampa








