La pagina seguente aspx fa un file zip a partire da n file di cui bisogna mettere il nome ( a mano per ora: nell'esempio è prova.mdb). Funziona bene, ma crea uno zip con le cartelle: serve SharpZipLib.dll; la scaricate qui e provate.
Il problema è che, però, mi crea un file zip sul descktop e non nella cartella dove voglio e, ancora, che lo crea anche delle cartelle del file. Io vorrei modificarlo per farlo creare del solo file che voglio
<%@ Page Language="VB" Trace="false" Debug="true" %>
<%@ Register TagPrefix="ic" Namespace="ICSharpCode.SharpZipLib" Assembly="ICSharpCode.SharpZipLib, Version=0.5.0.0, Culture=neutral, PublicKeyToken=1b03e6acf1164f73" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System.Data.oledb" %>
<%@ import Namespace="ICSharpCode.SharpZipLib.Zip" %>
<%@ import Namespace="ICSharpCode.SharpZipLib.Checksums" %>
<script runat="server">
Sub vai(sender As Object, e As EventArgs)
Dim objCrc32 As New Crc32()
Dim strmZipOutputStream As ZipOutputStream
dim zipfic as string
dim crearAuto as boolean
zipfic="prova.zip"
If zipFic = "" Then
zipFic = "."
crearAuto = true
End If
If crearAuto Then
zipFic &= "\ZIP" & DateTime.Now.ToString("yyMMddHHmmss") & ".zip"
End If
strmZipOutputStream = New ZipOutputStream(File.Create(zipFic))
strmZipOutputStream.SetLevel(6)
'
Dim strFile As String
strfile=server.mappath("prova.mdb")
Dim strmFile As FileStream = File.OpenRead(strFile)
Dim abyBuffer(Convert.ToInt32(strmFile.Length - 1)) As Byte
'
strmFile.Read(abyBuffer, 0, abyBuffer.Length)
Dim sFile As String = Path.GetFileName(strFile)
Dim theEntry As ZipEntry = New ZipEntry(sFile)
Dim fi As New FileInfo(strFile)
theEntry.DateTime = fi.LastWriteTime
theEntry.Size = strmFile.Length
strmFile.Close()
objCrc32.Reset()
objCrc32.Update(abyBuffer)
theEntry.Crc = objCrc32.Value
strmZipOutputStream.PutNextEntry(theEntry)
strmZipOutputStream.Write(abyBuffer, 0, abyBuffer.Length)
strmZipOutputStream.Finish()
strmZipOutputStream.Close()
End Sub
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
</head>
<body>
<form id="myForm" name="myForm" method="post" enctype="multipart/form-data" runat="server">
<div align="center">
<fieldset>
<legend>Upload Portion</legend>
</fieldset>
<fieldset>
<legend>Download Portion</legend>
<asp:Button id="btnDownload" onclick="vai" runat="server" Text="Zippa"></asp:Button>
</fieldset>
</div>
</form>
</body>
</html>