Copia e compressione di un file in ASP
Vediamo come Copiare e Comprimere un file direttamente da una pagina ASP.
La pagina ASP per prima cosa elencherà tutti i file di una determinata cartella la quale conterrà i file sorgente.
Dopo aver selezionato il file che vogliamo copiare e comprimere si clicca sul pultante Copia/Sposta
A questo punto possiamo:
1) Utilizzare il metodo ScriptFileSystem di ASP per la copia/sposta e la libreria XZip (freeware) per la compressione.
2) un secondo metodo potrebbe essere quello di lanciare un batch
Soluzione 1 – Utilizzo della libreria XZip Freeware per la compressione del file
Scarichiamo la libreria XZip dal sito ufficiale – http://xstandard.com/en/
Procediamo con l’installazione come indicato sul sito:
1. Move the dll to a directory like: C:\Program Files\XStandard\Bin\.
2. Open a command prompt and cd to the directory where the dll is located.
3. Type regsvr32 XZip.dll
4. Grant "Read & Execute" file permissions on this dll to Everyone.
Ed ecco il codice completo della nostra pagina di esempio:
<% Dim SourceFolder dim filename SourceFolder = "c:\temp" DesinationFolder = "c:\temp\move" %> <HTML> <HEAD> <LINK rel="stylesheet" type="text/css" href="./WCR.css"> <TITLE>Batch</TITLE> </HEAD> <body> <font face="Arial"> <span style="font-size:14pt">Batch - sposta file in cartella</span> <hr> <p style="font-size:10pt">Elenco file cartella sorgente:</span> <form action="batch.asp?par=move" method="post"> <table cellspacing="1" cellpadding="5" border="1"> <tr><td> <% ' Dichiara le variabili necessarie Dim objFso, objFolder, objFiles Dim strFolder, strFile, strPath, strExt ' Definisci il percorso della cartella da leggere strPath = SourceFolder strExt = ".csv" ' Crea gli oggetti FSO necessari Set objFso = Server.createObject("Scripting.FileSystemObject") set objFolder=objFso.GetFolder(strPath) Set objFiles = objFolder.Files ' Scorri tutti i file nella cartella for each strFile in objFiles ' Controlla l'estensione if Right(strFile.name, Len(strExt)) = strExt then response.write("<input type='radio' name='group1' value='" & strFile.name & "'>" & strFile.name & "<br>") end if next %> </td></tr> <td align="center"><input type="submit" value="Copia/Sposta File" name="btnSubmit"></td> </tr> </table> </form> <p> <% If Request("par")="move" Then filename = request("group1") 'objFso.CopyFile sorgente,destinazione[,sovrascrivi] ' Creo l'oggetto Dim objZip Set objZip = Server.CreateObject("XStandard.Zip") ' Eseguo la prima operazione di compressione.. ' ..e contestualmente creo l'archivio objZip.Pack SourceFolder & "\" & filename, DesinationFolder & "\" & filename & ".zip" ' Chiudo Set objZip = Nothing end if ' Distruggi oggetti e libera risorse Set objFso = Nothing Set objFolder = Nothing Set objFiles = Nothing %> </p> </body> </HTML>
http://www.mrwebmaster.it/asp/articoli/gestire-archivi-compressi-zip-asp_772.html
