ФМ
Size: a a a
ФМ
N
ВE
DN
А
А
А
public static byte[] Zip(List<string> files)
{
using (MemoryStream ms = new MemoryStream())
{
using (IOZip.ZipArchive archive = new IOZip.ZipArchive(ms, IOZip.ZipArchiveMode.Create, false))
{
foreach (string fileName in files)
{
IOZip.ZipArchiveEntry readmeEntry = archive.CreateEntry(Path.GetFileName(fileName));
if (File.Exists(fileName))
{
using (Stream entry = readmeEntry.Open())
{
using (FileStream fs = File.OpenRead(fileName))
{
fs.Position = 0;
fs.CopyTo(entry);
}
}
}
}
ms.Position = 0;
byte[] arch = ms.ToArray();
return arch;
}
}
А
А
А
А
byte[] arch = FileZipHelper.Zip(fileNames);
FileStream file = File.Create(@"c:\temp\zip\test.zip");
for (int i = 0; i < arch.Length; i++)
{
file.WriteByte(arch[i]);
}
file.Flush();
file.Close();
А
byte[] arch = FileZipHelper.Zip(fileNames);
Stream fs = new MemoryStream(arch);
Response.ContentType = "Application/Zip";
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
Response.AppendHeader("Content-Length", fs.Length.ToString());
Response.Flush();
fs.CopyTo(Response.OutputStream);
Response.Flush(); //Release the file so it can be Deleted
fs.Close();
А
ВE
А
ВE
А
А
А
public static byte[] Zip(List<string> files)
{
byte[] arch = null;
using (MemoryStream ms = new MemoryStream())
{
using (IOZip.ZipArchive archive = new IOZip.ZipArchive(ms, IOZip.ZipArchiveMode.Create, true))
{
foreach (string fileName in files)
{
if (File.Exists(fileName))
{
IOZip.ZipArchiveEntry readmeEntry = archive.CreateEntry(Path.GetFileName(fileName));
using (Stream entry = readmeEntry.Open())
{
using (FileStream fs = File.OpenRead(fileName))
{
fs.CopyTo(entry);
}
}
}
}
}
//ms.Seek(0, SeekOrigin.Begin);
arch = ms.ToArray();
}
return arch;
}
А