public override IEnumerable <PvcStream> Execute(IEnumerable <PvcStream> inputStreams) { var outputStream = new MemoryStream(); var returnStream = new PvcStream(() => outputStream); ZipFile zip = new ZipFile(); zip.CompressionLevel = _level; if (!String.IsNullOrEmpty(_password)) { zip.Password = _password; } foreach (var inputStream in inputStreams) { ZipEntry e = zip.AddEntry(inputStream.StreamName, inputStream); } ; zip.Save(outputStream); return(new[] { returnStream.As(String.Format("{0}.zip", _archiveName)) }); }
public override IEnumerable <PvcStream> Execute(IEnumerable <PvcStream> inputStreams) { var resultStreams = new List <PvcStream>(); foreach (var inputStream in inputStreams) { ZipFile zip = ZipFile.Read(inputStream); foreach (ZipEntry e in zip) { var outputStream = new ZipMemoryStream(); if (!String.IsNullOrEmpty(_password)) { e.Password = _password; } e.Extract(outputStream); var resultStream = new PvcStream(() => outputStream); resultStream.Tags.Add("unzipped"); resultStreams.Add(resultStream.As(e.FileName)); } } ; return(resultStreams); }